You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Erik van Oosten (JIRA)" <ji...@apache.org> on 2008/08/25 11:47:44 UTC

[jira] Commented: (WICKET-1349) Wicket Ajax response generates a "^" character in the javascript code

    [ https://issues.apache.org/jira/browse/WICKET-1349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625300#action_12625300 ] 

Erik van Oosten commented on WICKET-1349:
-----------------------------------------

We are using AjaxRequestTarget while at the client side we use jquery only and therefore also have problems with the '^' in the raw stream.

By replacing the AjaxRequestTarget#encode method with the following, you get proper XML escaping.

	/**
	 * Encodes a string so it is safe to use inside CDATA blocks
	 *
	 * @param str
	 * @return encoded string
	 */
	protected String encode(String str)
	{
		if (str == null)
		{
			return null;
		}

		return Strings.replaceAll(str, "]", "]]]><![CDATA[").toString();
	}


> Wicket Ajax response generates a "^" character in the javascript code
> ---------------------------------------------------------------------
>
>                 Key: WICKET-1349
>                 URL: https://issues.apache.org/jira/browse/WICKET-1349
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 1.3.1
>         Environment: IE6 and IE7
>            Reporter: Wen Tong Allan
>            Assignee: Igor Vaynberg
>
> I have a page that uses AjaxFallbackDefaultDataTable (using SortableDataProvider ). The markup contains user-define javascript that I added. When I try to do some action (delete row) with the table, the page doesn't refresh in IE6 and IE7. I checked the Wicket Ajax Debugger and it displays:
> >  >  ERROR: Error while parsing response: Object required
> >  >  INFO: Invoking post-call handler(s)...
> >  >  INFO: invoking failure handler(s)...
> I also noticed that the user-define javascript that was returned by the ajax debugger was appended by "^". (See javascript below):
>                 // enable disable button.
>                 function setButtonState() {
>                     var formObj = eval(document.getElementsByName("contactListForm")[0]^);
>                     var state = anyChecked(formObj);
>                     document.getElementsByName("deleteContactsButton")[0]^.disabled = !state;
>                     document.getElementsByName("newContactGroupButton")[0]^.disabled = !state;
>                     document.getElementsByName("newEventButton")[0]^.disabled = !state;
>                 }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.