I tried alert, I alert box empty. But when I disable the jquery and submit the form as I used to, I get the error in the following format.
<div id='messages'><img alt='Message' src='images/icons/error.png' id='message' /><p>sorry, you cannot use this email address.</p></div> On Aug 17, 2:09 pm, Miloš Rašić <milos.ra...@gmail.com> wrote: > I'm quite certain that output variable in your callback function > should contain the response of your server side script. In other > words, even if your server side script displays something like a > scripting language or database error, it should still be in the output > variable. If you think something is wrong with the code you are using > it to insert the response into the page, try using alert(output) in > the callback. It will give you the contents of output variable in a > browser dialog. > > On the other hand, your callback function might be invalid. It is > defined in the doucmentation as function(data, textStatus). > Try adding the textStatus parameter to your function even though you > don't use it and see if it changes anything. > > 2009/8/17 efet <efetun...@gmail.com>: > > > > > Great explanation, thank you so much. But I still cant grab output of > > page we sent the data. I still only get "Contact Form Submitted!" > > message, though I know my server side codes gave an error message. > > > On Aug 17, 1:39 pm, Miloš Rašić <milos.ra...@gmail.com> wrote: > >> html() method set's the innerHTML of an element, which means that it > >> overwrites what was previously in it. What you should do is: > >> $("#SIGNUPFORM").html(output); > >> $('#SIGNUPFORM').append("<h2>Contact Form Submitted!</h2>"); > > >> It would also be good for your programming for you to get a habit of > >> chaining methods whenever possible. As it is, your code will search > >> the DOM for #SIGNUPFORM twice unnecessarily. If you do it like: > >> $("#SIGNUPFORM").html(output).append("<h2>Contact Form Submitted!</h2>"); > >> the element will be selected only once. You can chain the methods as > >> long as you will until you use a method that is supposed to return > >> something specific about the object (also called an inspector). > > >> I hope this helps. > > >> 2009/8/17 efet <efetun...@gmail.com>: > > >> > Ok now it partially worked! I get Contact Form Submitted! message once > >> > I click submit. But! there still is a one problem. When form > >> > submitted, if email address is used before, my server side script > >> > gives "sorry, you cannot use this email address" message. How can I > >> > grab other page's response text and print it to the page instead. I > >> > tried it as: > > >> > success: function(output) { > >> > $("#SIGNUPFORM").html(output); > >> > $('#SIGNUPFORM').html("<h2>Contact > >> > Form Submitted!</h2>") > >> > } > > >> > On Aug 17, 1:13 pm, Miloš Rašić <milos.ra...@gmail.com> wrote: > >> >> Your page is refreshed? No wonder since you are using type="submit" > >> >> input. Change it to type="button" and add return false; at the end of > >> >> your onclick function just in case. return false; will prevent the > >> >> button from continuing with its default behaviour once your function > >> >> is complete. > > >> >> Submit inputs are used to submit a form (without AJAX) to a url > >> >> provided in the action attribute of your form. Since your form doesn't > >> >> have an action attribute, it assumes that the form should be posted to > >> >> the current url. Your function probably works, but once it is > >> >> completed the form submits normally without waiting for AJAX response. > > >> >> 2009/8/17 efet <efetun...@gmail.com>: > > >> >> > I missed few ""s there thank you. I am pasting the updated code here. > >> >> > I just installed firebug. I dont receive any errors, what happens is > >> >> > page is refreshed. Before moving to an easier method, I want to learn > >> >> > this method first. I am just a beginner yet. Do you think page is > >> >> > refreshed because I have method="post" in my form? > > >> >> > Updated code: > >> >> > $(document).ready(function() { > >> >> > $("[name='signup']").click(function() { > >> >> > $.ajax({ > >> >> > type: "POST", > >> >> > data: { PROCESS: "Add2Member", > >> >> > FIRSTNAME: "[name='FIRSTNAME']", > >> >> > LASTNAME: "[name='LASTNAME']", EMAILADDRESS: "[name='EMAILADDRESS']", > >> >> > PASSWORD: "[name='PASSWORD']", CITY: "[name='CITY']" }, > >> >> > url: "default.cs.asp", > >> >> > success: function(output) { > >> >> > $("#SIGNUPFORM").html(output); > >> >> > $('#SIGNUPFORM').html("<h2>Contact > >> >> > Form Submitted!</h2>") > >> >> > } > >> >> > }); > >> >> > });