Hi,
We have a user control that has a rad ajax panel on there to "ajaxify" the page. Upon clicking the Submit button we fire off an ajax request to the server and then add some javascript to our panels response scripts.
This is working in all browsers except... yes you guessed it... IE6!
In IE 6 all of the server side code is executed but the client script that was added to the response scripts is not fired. We then get the following error message:
"Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed."
This is thrown at the following location:
We have a user control that has a rad ajax panel on there to "ajaxify" the page. Upon clicking the Submit button we fire off an ajax request to the server and then add some javascript to our panels response scripts.
This is working in all browsers except... yes you guessed it... IE6!
In IE 6 all of the server side code is executed but the client script that was added to the response scripts is not fired. We then get the following error message:
"Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed."
This is thrown at the following location:
_endPostBack:
function
PageRequestManager$_endPostBack(error, executor, data) {
if
(
this
._request === executor.get_webRequest()) {
this
._processingRequest =
false
;
this
._additionalInput =
null
;
this
._request =
null
;
}
var
eventArgs =
new
Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
Sys.Observer.raiseEvent(
this
,
"endRequest"
, eventArgs);
if
(error && !eventArgs.get_errorHandled()) {
throw
error;
}
},
I have no idea where to go from this point so any help is greatly appreciated. I have also included the
code below to help diagnose what the issue could be.
<telerik:RadAjaxPanel ID=
"rap"
runat=
"server"
Width=
"100%"
OnAjaxRequest=
"rap_AjaxRequest"
LoadingPanelID=
"ralp"
>
<div id=
"enquiryWrapper"
>
<div id=
"detailsDiv"
>
<h2>
Your Details</h2>
<h3>
Name:</h3>
<p>
<asp:TextBox ID=
"NameBx"
runat=
"server"
></asp:TextBox></p>
<h3>
Telephone:</h3>
<p>
<asp:TextBox ID=
"TelBx"
runat=
"server"
></asp:TextBox></p>
<h3>
Email:</h3>
<p>
<asp:TextBox ID=
"EmailBx"
runat=
"server"
></asp:TextBox>
<asp:HiddenField ID=
"hidSubject"
runat=
"server"
ClientIDMode=
"Static"
/>
</p>
</div>
<div id=
"requestDiv"
>
<h2>
Nature of your enquiry</h2>
<textarea id=
"EnqTxtBx"
cols=
"40"
rows=
"10"
></textarea>
</div>
<div id=
"submitDiv"
>
<h2>
Submit your request</h2>
<img id=
"sendBtn"
alt=
"SendButton"
src=
"themes/buttons/SendBtn.png"
class
=
"clickable"
title=
"Submit your Enquiry"
onclick=
"SendEnquiry()"
onmouseover=
"javascript:this.src='themes/buttons/sendBtn-on.png'"
onmouseout=
"javascript:this.src='./themes/buttons/sendBtn.png'"
/>
<img id=
"cancelBtn"
alt=
"CancelButton"
src=
"themes/buttons/CancelBtn.png"
class
=
"clickable"
title=
"Cancel"
onclick=
"SlideOut(0,'top','OUT')"
onmouseover=
"javascript:this.src='themes/buttons/cancelBtn-on.png'"
onmouseout=
"javascript:this.src='themes/buttons/cancelBtn.png'"
/>
<div id=
"EnqMessageDiv"
runat=
"server"
style=
"display: none;"
>
<img src=
"./themes/cross.png"
alt=
"Invalid: "
runat=
"server"
id=
"MessageImg"
style="width: 16px;
height: 16px;" />
<asp:Label runat=
"server"
ID=
"MessageLbl"
></asp:Label>
</div>
</div>
</div>
</telerik:RadAjaxPanel>
<telerik:RadScriptBlock ID=
"rsb"
runat=
"server"
>
<script type=
"text/javascript"
>
function SendEnquiry()
{
var oAjax = <%= rap.ClientID %>;
var txtBx = document.getElementById(
"EnqTxtBx"
);
var EnqTxt = txtBx.value;
oAjax.ajaxRequest(
"Enq|"
+EnqTxt+
"|"
);
}
</script>
</telerik:RadScriptBlock>
<telerik:RadAjaxLoadingPanel ID=
"ralp"
Runat=
"server"
Skin=
"Default"
Transparency=
"50"
>
</telerik:RadAjaxLoadingPanel>
protected
void
rap_AjaxRequest(
object
sender, Telerik.Web.UI.AjaxRequestEventArgs e)
{
string
[] Args = e.Argument.Split(
'|'
);
if
(Args[0] ==
"Enq"
)
{
..... Process data .....
if
(dnCustom.strFuncs.isValidEmail(EmailBx.Text))
{
if
(!PromatMail.SendMail())
{
BlankFields();
rap.ResponseScripts.Add(
"alert('Sorry! We are experiencing errors in our mail server at this time. Please try again later'); SlideOut(0,'top','OUT');"
);
}
else
{
BlankFields();
if
(!CustMail.SendMail())
{
rap.ResponseScripts.Add(
"alert('Thankyou for your enquiry we will get back to as soon as possible'); SlideOut(0,'top','OUT');"
);
}
else
{
rap.ResponseScripts.Add(
"alert('Thankyou for your enquiry we will get back to as soon as possible'); SlideOut(0,'top','OUT');"
);
}
}
}
else
{
rap.ResponseScripts.Add(
"alert('The Email address you supplied is invalid. please amend it and try again.');"
);
}
}
}
Thanks in advance,
M