Chrome在使用jQuery ajax时删除表单元素。
Chrome在使用jQuery ajax时删除表单元素。
我从一个操作的JSON响应中返回一些简单的HTML标记。以下是完整的响应(为了可读性添加了换行符):\n{\n \"Success\":true,\n \"Content\":\"\\r\\n\\r\\n
\\r\\n\",\n \"Data\":null,\n \"Errors\":null\n}\n\n在成功响应后,我对它进行了如下处理:\n
$("#EditPriceDialog").html(data.Content).dialog(MyProject.UI.DialogOptions({ minWidth:380, minHeight:200, modal:true }))
\n当标记渲染时,表单元素丢失了。但是表单内的元素仍然存在。这只在Chrome浏览器中发生。在IE9和FF 19中,表单元素是存在的。Chrome中有什么不同之处?
Chrome removes form element when using jQuery ajax是一个在使用jQuery ajax时出现的问题。该问题的出现原因是,如果一个form元素已经被另一个form元素包围,Chrome会将其移除。此外,ASP .Net会为所有页面呈现form标签,结果Chrome会在data.Content中剥离掉form标签。我认为IE或者firefox不会表现出这种行为。
解决方法是确保页面上没有未关闭的form标签。这个问题的解决方法可以在以下stackoverflow链接中找到:How do you overcome the html form nesting limitation?