input per <select> ein und ausblenden

Hi. ich hab ein Problem
und zwar will ich ein iput einblenden bzw ausblenden wenn im select davor was geändert wird

also folgendes szenario: ich hab ein Select mit Ja und Nein...

Bei Nein soll das input ausgebelndet sein, bei Ja soll es eingeblendet werden...

hier mein Code, der nicht funktioniert:
ich hab mir gedacht ich mach ne If-abfrage wenn des Select geändert wird ob des inputfeld des styleattibut: display:none; hat und wenn ja, wird des styleattribut einfach gelöscht, wenns ned des is, (also auch wenns kein attribut hat) dann soll style auf display:none; gesetzt werden...

Code:
<script language="JavaScript" type="text/javascript">
<!--
function HideInput()
{
 if (document.Formular.select_ja.style == "display:none;") {
document.Formular.select_ja.style == "display:true;"; 
return false;
}
 else {
document.Formular.select_ja.style == "display:none;"
return false;
}
}

//-->
</script>

<form name="Formular">
<select name="erfahrung" size="1" onChange="return HideInput()">
  <option value="nein" >Nein</option>
  <option value="ja">Ja</option>
  </select><input class="msw2" style="display:none;" type="text"  name="select_ja" value="" size="18" />
</form>

könnt ihr mir sagen, warum des ned geht?
 
Erstens:
'==' ist ein Vergleich, wenn du zuweisen willst, dann nur mit einem einfachen '='.

Zweitens:
Versuch's mal mit
Code:
document.Formular.select_ja.style.display = "none";
bzw.
Code:
document.Formular.select_ja.style.display = "block";
 
geht immer noch ned... hmm woran kann des liegen?

ich habs etz mal mit zwei functionen probiert und onClick... geht aba immer no ned

woran kann des liegen?

hier mein neuer code:

Code:
<script language="JavaScript" type="text/javascript">
<!--
function HideInput()
{
 
document.Formular.select_ja.style = "display:none";
return false;


}

function ShowInput()
{

 
document.Formular.select_ja.style = "display:block";
return false;

}

//-->
</script>

<form name="Formular">
<select name="erfahrung" size="1" >
  <option value="nein" onClick="return HideInput()">Nein</option>
  <option value="ja" onClick="return ShowInput()">Ja</option>
  </select><input class="msw2" style="display:none" type="text"  name="erfahrung_wo" value="" size="18" />
</form>
 
Original von Catarrer
document.Formular.select_ja.style = "display:none";
Lies dir mein "Zweitens" nochmal genau durch ;)

Außerdem heißt das Feld, dass du ein- und ausblenden willst, nicht select_ja, sondern erfahrung_wo.
 
;) danke für die schnelle antwort, aba damit hab ichs auch schon Probiert... ich pack jetzt einfach des input in nen div-container und lass den verschwinden, bzw anzeigen *g* des geht ^^
 
Hallo,
wenn du alle genannten Ratschläge berücksichtigst, funktionierts.
Ersetze
Code:
document.Formular.select_ja.style = "display:none";
durch
Code:
document.Formular.erfahrung_wo.style.display = "none";
Dein Feld heißt "erfahrung_wo". Also änder auch den style von diesem Feld, nicht von "style_ja".
Außerdem solltest du
Code:
style.display = "none"
statt
Code:
style = "display:none"
verwenden.
;-)

AmShaegar
 
Zurück
Oben