Solved

Help with JQuery!

Posted on 2009-06-30
5
637 Views
Last Modified: 2013-12-08
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

0
Comment
Question by:dilithiumtoys
  • 2
  • 2
5 Comments
 
LVL 29

Expert Comment

by:Badotz
Comment Utility
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
 

Author Comment

by:dilithiumtoys
Comment Utility
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
 
LVL 29

Expert Comment

by:Badotz
Comment Utility
>>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
 
LVL 82

Accepted Solution

by:
hielo earned 500 total points
Comment Utility
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
 

Author Closing Comment

by:dilithiumtoys
Comment Utility
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

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
Introduction JSON is an acronym for JavaScript Object Notation.  It is a text-string data transport mechanism, capable of representing simple or complex data structures in a consistent and easy-to-read manner.  Similar in concept to XML, but more e…
The viewer will learn how to dynamically set the form action using jQuery.
Shows how to create a shortcut to site-search Experts Exchange using Google in the Chrome browser. This eliminates the need to type out site:experts-exchange.com whenever you want to search the site. Launch the Search Engine Menu: In chrome, via you…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now