Autor Zpráva
janberka
Profil *
Ahoj,
potřeboval bych pomoct. Chtěl bych na stánku ve formuláři udělat to, že podle toho co vyberete v selectu se zobrazí další formulářový prvek. Nevíte jak na to?
Sylar
Profil
janberka:
použij u selectu událost onchange() - např.

// javascript
function show_el(value) {
  if (value == '') return false;
 
  var els = document.querySelectorAll('.element');
  for(var i = 0; i < els.length; i++) {
    els[i].style.display = 'none';
  }
  document.getElementById(value).style.display = 'block';
}

// html
<form>
  <select size="1" onchange="show_el(this.value);">
    <option value="">- vyberte -</option>
    <option value="radio">radio button</option>
    <option value="input">text input</option>
  </select>
</form>

<div class="element" id="radio" style="display: none;">
  <input type='radio' value='1' name='radio' />
</div>
<div class="element" id="input" style="display: none;">
  <input type='text' value='' name='radio' />
</div>
Chamurappi
Profil
Reaguji na Sylara:
Metoda document.querySelectorAll jednak nefunguje všude, jednak vrací pole elementů, nikoliv element. Pole nemá vlastnost style.
Proč vůbec chceš hledat element podle id touhle metodou?
Sylar
Profil
Chamurappi:
Tuším, že všechny modernější prohlížeče by měly querySelectorAll zvládat, osobně mi nefunguje pouze u IE7- .

máš pravdu, moje chyba - oba dva řádky jsem upravil, takto je to lepší a správné :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: