Cóż, po godzinnym wprowadzeniu do javascripta wymyślę następujący kod. Zrobiłem to, co chciałem, ale potem chciałem czegoś innego i to nie zadziała.Wyświetlanie warunkowe elementów formularzy html
Chciałem, że po kliknięciu przycisku, pewne pole zostanie ukryte, a po kliknięciu innego tak, inne też się ukryje, ALE oczywiście musi wykonać drugie przedstawienie, w przeciwnym razie skończymy z nic, a celem było przedstawienie różnych pól w zależności od tego, co użytkownik kliknął (na przycisku radiowym) Więc w dziecinny sposób stworzyłem mój kod i zadziałało. Ale potem przyszło mi do głowy, że najpierw chciałem ukryć oba pola zamiast obu pokazanych pól, a tutaj jest problem. Dodałem wartość 0 do parametru funkcji "telling", że gdy x = 0, to widoczność = ukryta. Ale mnie nie posłucha !, A więc część kodu, gdy mówi x = 1 i 2 działa, ta o 0, nie.
To taki prosty kod, który może sprawić, że ktoś się uśmiechnie, ale do cholery, to było czyste i działało. Czy ktoś wie, jak ukryć pola przed kliknięciem przycisków?
dziękuję usunąć niektóre znaczniki HTML
<html>
<head>
<script language="javascript">
var x = 0;
function hola(x) {
if(x == 0) {
document.getElementById("cont1").style.visibility="hidden";
document.getElementById("cont2").style.visibility="hidden";
}
if(x == 1) {
document.getElementById("cont1").style.visibility="visible";
document.getElementById("cont2").style.visibility="hidden";
}
if(x == 2) {
document.getElementById("cont1").style.visibility="hidden";
document.getElementById("cont2").style.visibility="visible";
}
}
</script>
</head>
<body>
<input type="button" onclick="hola(1)" value="hidefield2" id="boton1">
<div id="cont1">
<input type="text">
</div>
<input type="button" onclick="hola(2)" value="hidefield1" id="boton2">
<div id="cont2">
<input type="text">
</div>
</body>
<html>
NIE myślisz, że powinieneś ** wywołać ** funkcję z 0 jako parametrem w pewnym momencie? – Pointy
Witam, dziękuję za poświęcenie czasu, aby rzucić okiem na moje pytanie. Jak na twój komentarz, myślę, że zrobiłem to dobrze na samym początku, postawiłem x = 0, ale teraz, kiedy to mówisz, przychodzę do głowy, że ta zmienna nie ma mocy, aby przekroczyć linię początkową funkcja, to znaczy funkcja może nie być świadoma przypisania od 0 do x linii powyżej. Dlatego też, jeśli domyślnie jest to naturalnie, widzialność widoczna, dlatego i ponieważ nie było dalszego przypisania, pozostaje. Następnie wyjaśnienie zachowania musi prawdopodobnie polegać na tym, że wartość X = 0 zadeklarowana przed funkcją nie jest globalna. – Alvaro