Help with JQuery!

Hi,

I am using JQuery to submit contact forms and ratings to my server from the user. My server responses with xml that is processed by the subspacecomm function, which I have not posted. The script I did include works, but in IE6 (which accounted for 19% of my hits this month) it simply just is silent after clicking the button.

The behavior should be User Click > Form Serialize > Post to URL > Receive Data > Parse with Function > Modify HTML with Response. IE seems to execute all events except for the parsing. Is there a solution to this? I am receiving the data just fine (server side), but I would like to alert the user that we received the data.

I would be willing to accept a method that checked for the div named message that is created in the parsing function.

It (the script as is) works in Firefox, but I have not tested it in Opera, Safari, or IE 7/8.

$(function() 
{
        $(".openchannel").click(function() 
        {
                // hide button
                $('#commbadge').hide();
                // submit attached form
                var submission = $("form").serialize() + "&jsubmit=true";
                // acquire the url to submit to
                var url = $("input#url").val();
                // submit form using ajax and expect an xml response
                $.post(url,submission,function(xml){subspacecomm(xml);});
                return false;
     });
});

Open in new window

dilithiumtoysAsked:
Who is Participating?
 
hieloCommented:
try this:
$(	function() 
	{
        $(".openchannel").click(function() 
        	{
                // hide button
                $('#commbadge').hide();
                // submit attached form
                var submission = $("form").serialize() + "&jsubmit=true";
                // acquire the url to submit to
                var url = $("input#url").val();
                // submit form using ajax and expect an xml response
                //$.post(url,submission,function(xml){subspacecomm(xml);} );
			 $.ajax(
			 	{"data":submission
			 	,"dataType":"xml"
				,"error":function (XMLHttpRequest, textStatus, errorThrown) { alert("Error occurred\n"+textStatus + " \n" +errorThrown);}
				,"success":function(xml,textStatus){alert("Request succeeded - processing response...\n" + xml);subspacecomm(xml);} 
			 	,"type":"POST"
				,"url":url
				,"complete":function (XMLHttpRequest, textStatus) {alert("The ajax request completed with status: " + textStatus);}
				}
			 );
                return false;
     	});
	}
);

Open in new window

0
 
BadotzCommented:
Not to be impertinent, but have you read the jquery documentation?

Knowing nothing of jquery, is your Ajax asynchonous? If so, where do you specify that?
0
 
dilithiumtoysAuthor Commented:
Yes I have read the documentation. This issue is browser specific. I wanted to know if anyone created a work around. AJAX is always asynchronous, therefore specification of that is not required.
0
 
BadotzCommented:
>>AJAX is always asynchronous, therefore specification of that is not required.

Perhaps in some corners of the world, but certainly not the www world.

IE6 does not have a built-in XMLHttpRequest object - perhaps that is part of your problem?
0
 
dilithiumtoysAuthor Commented:
Thank you so much! I was able to get a response out of IE that there wasnt a parser available. I can customize this to alert the user that the request was sent.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.