hi all
im php magazin - 5 jahres edition gab es einen bericht, wie man jsVal mit prototype zwecks formularvalidierung kombinieren kann. vielleicht kennt ja jemand diesen bericht.
leider funktioniert es bei mir nicht so richtig und erkennt vielleicht mein problem. jedenfalls sollte es so sein, dass der response true oder false zurückliefern soll und jsVal daraufhin eine meldung ausgibt oder das formular zum absenden durchlässt.
ich versuch mal den code ein wenig aufzuschlüsseln.
test.html
und hier die validate.php für funktion validateAjax()
funktioniert zumindest soweit, dass ich true oder false bekomme, aber
aber die validation geht nicht durch. egal ob ich true oder false habe.
ersetze ich zB:
mit
geht er nicht mal in die abfrageroutine rein.
weiss vielleicht von euch jemand rat?
danke schonmal
im php magazin - 5 jahres edition gab es einen bericht, wie man jsVal mit prototype zwecks formularvalidierung kombinieren kann. vielleicht kennt ja jemand diesen bericht.
leider funktioniert es bei mir nicht so richtig und erkennt vielleicht mein problem. jedenfalls sollte es so sein, dass der response true oder false zurückliefern soll und jsVal daraufhin eine meldung ausgibt oder das formular zum absenden durchlässt.
ich versuch mal den code ein wenig aufzuschlüsseln.
test.html
Code:
<html xmlns="http://www.w3.org/1999/xhtml" version="-//W3C//DTD XHTML 1.1//EN" xml:lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <link href="css/style.css" rel="stylesheet" type="text/css" ></link> <script type='text/javascript' src='js/prototype.js'> </script> <script type="text/javascript" src="js/jsval.js"></script> <title>TEST</title> </script> </head> <body> <form name="formAngebot" method="post" id="formAngebot" onsubmit="return validateStandard(this,'formErrorClass');"> <script> function validateAjax(id,name,value) { var myAjax = new Ajax.Request('validate.php',{ method:'get', asynchronous:false, parameters:'name='+name+'&value='+value, onFailure: function(){alert('Die Anfrage ist fehlerhaft!');}, onSuccess:function(response) { result=response.responseXML.getElementsByTagName('response')[0].firstChild.nodeValue; alert(response.responseXML.getElementsByTagName('response')[0].firstChild.nodeValue);} } ); return (result=='true')? true : false; } </script> <input type="text" class="inpt" id="EintragBenutzername" name="EintragBenutzername" required="1" callback="validateAjax"> // required und callback sind funktionen von jsval <input type="submit" name="formAbschicken" value="Angebot eintragen" class="senden"> </form> </body> </html>
Code:
<?php header("Content-type: text/xml"); php?> <ajax-response> <response> <?php if($_REQUEST['value']=='xyz') { echo 'false'; } else { echo 'true'; } php?> </response> </ajax-response>
aber die validation geht nicht durch. egal ob ich true oder false habe.
ersetze ich zB:
Code:
return (result=='true')? true : false;
Code:
if($result == true) { return true;} else { return false;}
weiss vielleicht von euch jemand rat?
danke schonmal
Comment