Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]zaawansowane formularze
Forum PHP.pl > Forum > Przedszkole
neo1986kk
Witam, mam formularz :
nałóż szatę graficzną
<select name="szatagraf">
<option>ze wzoru</option>
<option>z pliku</option>
</select>

<input type="file" name="plik" />



chciałbym uzyskać coś takiego:
Jeśli szata ma być ze wzoru to input jest nieaktywny, jeśli szata ma być z pliku to pole input się uaktywnia i można dodać plik, najlepiej
by było gdyby był ukryty a po kliknięciu "z pliku" się pokazywał.
Domyslam się że będzie to js ale nie mam pojęcia jak to zrobić z selectem.
skowron-line
Jeżeli wiesz jak napisać funkcję która pokaże tego inputa to podepnij sobie ją pod zdarzenie onChange. Czyli w onChange odwołujesz się do tej funkcji a w niej sprawdzasz jakie jest value z selecta i na tej podstawie pokazujesz lub ukrywasz tego inputa.
neo1986kk
Napisałem coś takiego:
  1. <script language=JavaScript>
  2. <!--
  3. function check(){
  4. if(document.test.checker.value==1){
  5. this.form.elements['nazwa2'].disabled = this.form.elements['nazwa3'].disabled = !this.checked;
  6. } else alert('wybrano szatę ze wzoru');
  7. }
  8. //-->
  9. </script>
  10. <form name='test'><br>
  11. <select name=checker onChange=check()><br>
  12. <option value=1>Z PLIKU<br>
  13. <option value=2>ZE WZORU<br>
  14. </select></td></tr>
  15.  
  16.  
  17. <input type="text" name="nazwa2" disabled="disabled" />
  18. <input type="text" name="nazwa3" disabled="disabled" />
  19. </form>
  20.  
  21.  


I problem w tym że to niestety nie działa. To znaczy, że nie uaktywnia pól. Pomóżcie
askone
Hej

Aby zadziałało musisz usunąć właściwość "disabled" samo ustawienie jej na false nie skutkuje odblokowaniem inputu...

Pozdrawiam
neo1986kk
<input type="checkbox" name="nazwa" value="wartość" onclick="this.form.elements['nazwa2'].disabled = this.form.elements['nazwa3'].disabled = !this.checked" />
<input type="text" name="nazwa2" disabled="disabled" />
<input type="text" name="nazwa3" disabled="disabled" />

ale w takim razie to by też nie działało. A to działa.smile.gif
askone
Fakt - zgadza się.

Nie zwróciłem uwagi na konsolę js... Wyrzuca błąd "this.form is undefined" smile.gif Zrób tak:

Kod
<script language=JavaScript>
<!--
function check(){
  if(document.test.checker.value==1)
{
   document.getElementById("nazwa2").disabled = document.getElementById("nazwa3").disabled = !document.getElementById("checker").value;
  }
else alert('wybrano szatę ze wzoru');
}
//-->
</script>
<form name='test'>

<select id="checker" name=checker onChange=check()>

<option value=1>Z PLIKU

<option value=2>ZE WZORU

</select></td></tr>


<input type="text" id="nazwa2" name="nazwa2" disabled="disabled" />
<input type="text" id="nazwa3" name="nazwa3" disabled="disabled" />
</form>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.