• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Parameter Eventhandler

Status
Für weitere Antworten geschlossen.

krackmoe

Neues Mitglied
Hab hier 2 Inputfelder:

PHP:
echo 'Passwort: <input type="password" name="password" id="password" onblur="pruefe()"><br>';
					echo 'Passwort wiederholen: <input type="password" name="password2" id="password2" onblur="pruefe()"><div id="hier"></div><br>';

Jetzt möchte ich bei onblur="pruefe()" , Parameter übergeben, nämlich den Wert vom ersten input feld und vom zweiten also so etwa: pruefe(password, password2)

Vom ersten bekomm ichs ja mit this.value oda this.id glaub ich..
Aber wie krieg ichs vom zweiten?
 
Gäbe da viele Wege, der sauberste imho geht über die IDs:

Code:
pruefe(this, document.getElementById('password2'))
 
Leider geht es nicht so :/

Hm...

Meine Javascript Datei schaut wie folgt aus.. maybe ist da wo der Fehler?

Code:
function pruefe(feld1, feld2){
	
	if(resObjekt != null){
		resObjekt.open("GET", 'reg.php', true);
		resObjekt.onreadystatechange = function(){			
			if((resObjekt.readyState==4) && (feld1 == feld2) && (feld1 != "" && feld2 != "")){
				document.getElementById("hier").innerHTML = "Passwörter sind gleich";
		    }
			else if(feld1 == "" || feld2 == ""){
				document.getElementById("hier").innerHTML = "";
			}
		}
		resObjekt.send(null);
	}		
}
 
Was ist resObjekt? Wo wird das definiert?

Der Vergleich

Code:
feld1 == feld2

ist Unsinn. Damit vergleichst du nur die Objekte miteinander, nicht aber deren Inhalte. Auf die Inhalte kannst Du bei diesen input-Feldern so zugreifen:

Code:
feld1.value
 
Code:
function pruefe(a, b)
{
    a = document.getElementById(a);
    b = document.getElementById(b);
    if(a.value == b.value){ return true; }
    alert("Beide Felder müssen gleich sein!");
    return false;
}

und der aufruf dann einfach

Code:
<form action="..." method="post">
  <input name="email1" id="e1" type="text" />
  <input name="email2" id="e2" type="text" />
  <input name="sub" type="submit" value="absenden" onClick="pruefe('e1', 'e2');" />
</form>

und danach nach dem absenden das gleich nochmal mit PHP damit mans icher sein kann das auch beide felder gleich sind!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben