Link to home
Start Free TrialLog in
Avatar of Robert Saylor
Robert SaylorFlag for United States of America

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:
<li><a href="admin_users.php?type=2" id="type2" ><span>&nbsp;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>

Open in new window


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>

Open in new window


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);
                                        });
                                 }

Open in new window


When I click on the button the file admin_update_candidate_contact.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.
Avatar of leakim971
leakim971
Flag of Guadeloupe image

yes, please provide the URL
Avatar of Robert Saylor

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.
Work fine for me.User generated image
On which browser are you testing?
Change a field. The message is sucess because the SQL query is valid.

       
SELECT `candidate_profile`.*, `contacts`.* FROM `candidate_profile`,`contacts` WHERE `candidate_profile`.`contactID` = '' AND `contacts`.`id` = ''

id should pass a value.
I am using firefox on Windows 8 and firefox on Mac. Both does the same.
SOLUTION
Avatar of Chris Stanyon
Chris Stanyon
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I changed addr2 I set with TEST, check
Thanks! I will give that a look in a few mins. I must have been dozing off while writing that lol.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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_candidate_contact(this.form)\"></td></tr>
                </table>
                </form>
                </div>
Thanks Chris. That's prob what is closing my tag. I will re-work the HTML in a few.
Thanks it is working now! It was bad HTML closing the form tag. I will remember that for next time.