Robert Saylor
asked on
jQuery not sending serialized get on a 3rd AJAX request
I am not sure why jquery is doing this but on a 3rd ajax request it is not sending any data (IE GET form data)
Page 1: A simple admin interface with a menu and a div on the side. Clicking on the menu calls another file that is rendered in the div.
Example:
Page 2 - then admin_users.php?type=2 opens in the DIV and displays a list of users to edit. The 2nd screen uses another jquery bind event to call out:
Page 3 then displays a form that the user can update:
Note: This is php below so I am using the \ as the escape key...
When I click on the button the file admin_update_candidate_con tact.php is called but nothing is sent. I did a foreach to print out the GET data and nothing is being sent.
Firebug displays the request as is always does when I press the button. I have always used just a 2 tier ajax system so this is a little different for me. If you need to see the website in action I can provide the URL, username and password. It's a staging area so there is no sensitive info there.
Page 1: A simple admin interface with a menu and a div on the side. Clicking on the menu calls another file that is rendered in the div.
Example:
<li><a href="admin_users.php?type=2" id="type2" ><span> Pending</span></a></li>
<div id="action_window"></div>
<script>
$(document).ready(function(){
$("#type1").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window').html(response)
})
});
$("#type2").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window').html(response)
})
});
$("#type3").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window').html(response)
})
});
$("#type4").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window').html(response)
})
});
$("#type5").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window').html(response)
})
});
$("#type6").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window').html(response)
})
})
});
</script>
Page 2 - then admin_users.php?type=2 opens in the DIV and displays a list of users to edit. The 2nd screen uses another jquery bind event to call out:
<div id="action_window2">
<a id="view" href="edit_contact.php?id=5">View/Edit</a>
</div>
<script>
$(document).ready(function(){
$("#contact").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window2').html(response)
})
});
$("#view").bind('click',function(event){
event.preventDefault();
$.get(this.href,{},function(response){
$('#action_window2').html(response)
})
})
});
</script>
Page 3 then displays a form that the user can update:
Note: This is php below so I am using the \ as the escape key...
<div id=\"contact_form\">
<form name=\"myform2\" id=\"myform2\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"$_GET[id]\">
just some input boxes....
<input type=\"button\" value=\"Save\" class=\"button1\" onclick=\"admin_update_candidate_contact(this.form)\">
function admin_update_candidate_contact(myform2) {
$.get('admin_update_candidate_contact.php',
$(myform2).serialize(),
function(php_msg) {
$("#contact_form").html(php_msg);
});
}
When I click on the button the file admin_update_candidate_con
Firebug displays the request as is always does when I press the button. I have always used just a 2 tier ajax system so this is a little different for me. If you need to see the website in action I can provide the URL, username and password. It's a staging area so there is no sensitive info there.
yes, please provide the URL
ASKER
http://pivot.customphpdesign.com/
username: admin
password: password
After you login, click "Pending" under candidates , then click on View/Edit for the test user.
username: admin
password: password
After you login, click "Pending" under candidates , then click on View/Edit for the test user.
ASKER
Change a field. The message is sucess because the SQL query is valid.
SELECT `candidate_profile`.*, `contacts`.* FROM `candidate_profile`,`conta cts` WHERE `candidate_profile`.`conta ctID` = '' AND `contacts`.`id` = ''
id should pass a value.
SELECT `candidate_profile`.*, `contacts`.* FROM `candidate_profile`,`conta
id should pass a value.
ASKER
I am using firefox on Windows 8 and firefox on Mac. Both does the same.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I changed addr2 I set with TEST, check
ASKER
Thanks! I will give that a look in a few mins. I must have been dozing off while writing that lol.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
yea it must be somewhere in my 3 files closing the form early. I will check it out. Odd the last file does not close it but I see firebug is showing it closed like you said now.
<div id=\"contact_form\">
<form name=\"myform2\" id=\"myform2\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"$_GET[id]\">
<b>Contact: (First, Middle, Last)</b><br>
<input type=\"text\" name=\"fname\" value=\"$fname\" size=20> <input type=\"text\" name=\"mname\" value=\"$mname\" size=10> <input type=\"text\" name=\"lname\" value=\"$lname\" size=20><br><br>
<b>Address:</b><br>
<input type=\"text\" name=\"addr1\" value=\"$addr1\" size=40><br>
<input type=\"text\" name=\"addr2\" value=\"$addr2\" size=40><br>
<br>City / State / Zip:<br><input type=\"text\" name=\"city\" value=\"$city\" size=20>, <select name=\"state_id\">$state2< /select>, <input type=\"text\" name=\"zip\" value=\"$zip\" size=5><br><br>
<b>Communications:</b><br>
<table border=0 width=600>
<tr><td width=150>Email:</td><td>< input type=\"text\" name=\"email\" value=\"$email\" size=40></td></tr>
<tr><td>Cell Phone:</td><td><input type=\"text\" name=\"cell_phone\" value=\"$cell_phone\" size=40></td></tr>
<tr><td>Home Phone:</td><td><input type=\"text\" name=\"home_phone\" value=\"$home_phone\" size=40></td></tr>
<tr><td></td><td><input type=\"button\" value=\"Save\" class=\"button1\" onclick=\"admin_update_can didate_con tact(this. form)\"></ td></tr>
</table>
</form>
</div>
<div id=\"contact_form\">
<form name=\"myform2\" id=\"myform2\">
<input type=\"hidden\" name=\"id\" id=\"id\" value=\"$_GET[id]\">
<b>Contact: (First, Middle, Last)</b><br>
<input type=\"text\" name=\"fname\" value=\"$fname\" size=20> <input type=\"text\" name=\"mname\" value=\"$mname\" size=10> <input type=\"text\" name=\"lname\" value=\"$lname\" size=20><br><br>
<b>Address:</b><br>
<input type=\"text\" name=\"addr1\" value=\"$addr1\" size=40><br>
<input type=\"text\" name=\"addr2\" value=\"$addr2\" size=40><br>
<br>City / State / Zip:<br><input type=\"text\" name=\"city\" value=\"$city\" size=20>, <select name=\"state_id\">$state2<
<b>Communications:</b><br>
<table border=0 width=600>
<tr><td width=150>Email:</td><td><
<tr><td>Cell Phone:</td><td><input type=\"text\" name=\"cell_phone\" value=\"$cell_phone\" size=40></td></tr>
<tr><td>Home Phone:</td><td><input type=\"text\" name=\"home_phone\" value=\"$home_phone\" size=40></td></tr>
<tr><td></td><td><input type=\"button\" value=\"Save\" class=\"button1\" onclick=\"admin_update_can
</table>
</form>
</div>
ASKER
Thanks Chris. That's prob what is closing my tag. I will re-work the HTML in a few.
ASKER
Thanks it is working now! It was bad HTML closing the form tag. I will remember that for next time.