Announcement

Collapse
No announcement yet.

jsVal + Prototype

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • jsVal + Prototype

    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

    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>
    und hier die validate.php für funktion validateAjax()

    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>
    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:

    Code:
    return (result=='true')? true : false;
    mit

    Code:
    if($result == true) { return true;} else { return false;}
    geht er nicht mal in die abfrageroutine rein.


    weiss vielleicht von euch jemand rat?

    danke schonmal

  • #2
    ui das ging schnell
    konnt mein problem doch selber lösen

    Lösung:
    habe ich doch mal den rückgabewert einen escape drübergejagt und siehe da es taucht ein
    geschütztes leerzeichen (%A0) auf.
    zeichen entfernt und das ding rennt.
    dennoch vielen dank

    frohes schaffen ... bis die tage

    Blasco

    Comment

    Working...
    X