Hi, I just started my first experiment with AJAX today. Got the basics
working, but when I add a tiny bit more complexity I have a problem,
Event.stop doesn't work properly for me.
I've followed a couple of basic tutorials to submit an e-mail address
to a PHP script, the PHP looks up the e-mail address and if it finds
it, it shows an input to enter a password. This all works fine except
the function with the ajax call to the password PHP script does not
stop the form submitting.
There is probably something very obvious I am doing wrong so hopefully
someone will be able to spot this a mile away! :)
The HTML looks like this, once the second form has been displayed
<form id="email-form" action="procBasketEmailNoJS.php" method="post">
<input id="email" class="texterwide" type="text" name="email"/>
<input id="email-submit" class="button" type="submit" value="Submit"/>
</form>
<div id="email-response">
we have saved details on file for you, please enter your password
below to retrieve them
<br/>
<form id="password-form" onsubmit="callProcBasketPassword()"
action="procBasketPasswordNoJS.php" method="post">
<input id="password" class="texterwide" type="text"
name="password"/>
<input id="password-submit" class="button" type="submit"
value="Submit"/>
</form>
</div>
<div id="password-response" name="password-response"/>
</div>
Here is the ajax.js
// Attach handler to window load event
Event.observe(window, 'load', init, false);
function init(){
Event.observe('email-form', 'submit', callProcBasketEmail);
}
function callProcBasketEmail(e) {
var pars = Form.serialize('email-form');
var myAjax = new Ajax.Updater('email-response',
'procBasketEmail.php', {method: 'post', parameters: pars});
Event.stop(e);
}
function callProcBasketPassword(e) {
var pars = Form.serialize('password-form');
var myAjax = new Ajax.Updater('password-response',
'procBasketPassword.php', {method: 'post', parameters: pars});
Event.stop(e);
}
When I step through in Firebug I can see that the password-response
div gets filled with the results of the procBasketPassword.php script,
but then the page tries to reload where the form is pointing to -
action="procBasketPasswordNoJS.php".
Event.stop(e); works fine in the first function, but not in the second
one. Please can you help?
Thanks in advance.
Ashley
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Prototype & script.aculo.us" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---