Updaten von if javascript

Hallo Leute,

ich hätte eine Bitte: ich würde gern die if Bedinung updaten:

function alertselect(selectobj){
if((selectobj.selectedIndex) == 1) {
//notwendig
var sprytextfield2 = new Spry.Widget.ValidationTextField(„sprytextfield2“, „none“);}
else if((selectobj.selectedIndex) != 1) {
//n notwendig
var sprytextfield2 = new Spry.Widget.ValidationTextField(„sprytextfield2“, „none“, {isRequired:false});}}

Sie kommt aus einen spryselect, jedoch funktioniert die if Bedienung nur wenn man aus dem select (Menü) beim ersten mal das Richtige an klickt.

Wieso? Was muss ich ändern?

Lg,
Chris

Ich habe leider keine Ahnung wie du die IF-Bedingung „updaten“ willst und zu welchem größerer Kontext das ganze gehört, kann also leider nicht helfen…

Hallo Kim,

danke für deine schnelle Antwort.
Also ich möchte von einem Menü eine Auswahl vornehmen, wobei sich bei einer bestimmten Auswahl ein neues Textfeld öffnet.
Diese bestimmte Auswahl ist Nr 1 in der if Bedingung.
Der Wert kommt aus dem Menüparameter:
onchange="
//erster Abschnitt ist verantwortlich für das zeigen und verstecken des Textfeldes

if(this.value==-2){document.getElementById(‚sprytextfield2‘).style.display=‚block‘ }else {document.getElementById(‚sprytextfield2‘).style.display=‚none‘};
//zweiter Abschnitt für das weitergeben an die if Bedienung

alertselect(this)"

Die if Bedienung gehört für das ändern des Textfeldes von erforderlich (ein Wert muss angegeben sein) auf nicht erforderlich (kein Wert).
Dies funktioniert ohne Probleme jedoch wenn ich die erste Auswahl von Anfang verändere bleibt das Textfeld in der ursprünglichen position: erforderlich oder nicht erforderlich.

Leider bin ich auch erst ein Anfänger in Javascript und weiß echt nicht wie das funktionieren kann, dass sich die if Bedienung auf den neuen Wert umstellt?

Lg,
Chris

Ich hab leider immernoch nicht so richtig eine Idee was du machen willst, weil ich nicht sehe wie alles zusammenhängt.
Wenn es darum geht, dass „sprytextfield2“ versteckt wird (display=‚none‘) versuch doch mal eine if-bedingung einzufügen, die das element wieder anzeigt (display=‚block‘) wenn ein anderer Menüpunkt gewählt wird.
Ansonsten kannst Du auch mit einem Debugger (z.b. Firebug für Firefox) schrittweise durch deinen Code gehen und gucken wo’s hakt, z.b. ob die „onchange“-Funktion überhaupt aufgerufen wird.

Viel Erfolg,

Kim

Hallo Kim,

das verschwinden von dem Textfield klappt ohne Probleme.
Jedoch soll es möglich sein, dass man bei verschwundenen Textfeld das Formular abschicken kann.
Dies funktioniert soweit, wenn man bei der Menü Auswahl nicht das Feld neuen Text hinzufügen anklickt.
Wenn man jedoch das Feld neues Feld hinzufügen anklickt und man anschließend eine andere auswählt wird das Feld nicht zurückgesetzt und das Formular wird gehindert am absenden, da das Textfeld nun erforderlich ist.
Deshalb versuch ich die if Bedienung bei jedem klick zu aktualisieren.

Hab jetzt alles schon ausprobiert, leider fällt mir dazu auch nichts mehr ein.

Wünsch dir noch einen schönen Feiertag,
Chris

Dann musst du beim Senden gucken ob das entsprechenden Textfeld, das geprüft wird auch gerade angezeigt wird und es ansonsten von der Prüfung ausnehmen.
Ohne den kompletten Code (oder zumindest) kann ich leider nix machen, weil meine Glaskugel gerade in der Reparatur ist… Nix für ungut.