sonal 8 Posted September 15, 2011 Report Share Posted September 15, 2011 I'm trying to add new records into database using ajax layer. I'm following the example given in the book. My php script works fine itself. But when I add ajax.js and add_client.js, the script does not give result. It seems like the script is not getting form values. I tried to print values after fields data, and the alert shows "This alert values shows "fname=null&lname=null&email=null" When I run the script, the php script goes into query failure part. But I can say, that php script is alright but it is working fine, when run without ajax parts. window.onload = init; function init() { var ajax = getXMLHttpRequestObject(); if(ajax) { if(document.getElementById('results')) { document.getElementById('client_form').onsubmit = function() { ajax.open('post', 'add_client_xml.php'); ajax.onreadystatechange = function() { handleResponse(ajax); } var fields = ['fname', 'lname', 'email']; for(var i = 0; i < fields.length; i++) { fields = fields + '=' + encodeURIComponent(document.getElementById(fields.value)); } var values = fields.join('&'); alert(values); This alert values shows "fname=null&lname=null&email=null" Quote Link to post Share on other sites
HartleySan 826 Posted September 15, 2011 Report Share Posted September 15, 2011 I think your problem is here: fields = fields + '=' + encodeURIComponent(document.getElementById(fields.value)); Change the end to the following: encodeURIComponent(document.getElementById(fields).value) Basically, move one of the right parentheses. Note that the getElementById method needs the ID of an HTML element, and once you have that DOM object, you can get the value of it (if it's an input element) using the value property. Make sense? 1 Quote Link to post Share on other sites
sonal 8 Posted September 15, 2011 Author Report Share Posted September 15, 2011 Hi, Thanks a lot.. that really makes sense. So nice of you.. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.