【发布时间】:2012-01-11 14:29:03
【问题描述】:
我有一个通过图像点击触发的 ajax 提交的表单,在提交表单后它被返回并重新加载。但是 .serialize() 已停止工作。
这里有一些代码:
<form id="myForm" action="/someFormSubmitPage.do">
<div id="myFormQuestions">
<input type="text" name="fred"/>
<!--more inputs-->
</div>
<img id="submitButton" src="some/path">
</form>
提交按钮的图像通过 .click 在 jquery 下面的函数中触发
var serializedForm = $("#myForm").serialize();
$.post("/someFormSubmitPage.do", serializedForm, function( data ) {
//do some stuff with the data
$( "#myFormQuestions" ).html(data);
});
这在第一次提交时可以正常工作,但在第二次提交时,尽管用户重新填充了输入,但 var 序列化表单最终还是一个空字符串
编辑: 我现在已经包含了一个JSFiddle,但是,我不确定如何使用 ajax 测试 echo 的东西。
【问题讨论】:
-
如何重新填充输入?动态加载的表单是指动态创建还是实现?
-
@Rolice The line $( "#myFormQuestions" ).html(data);可以。来自 ajax 调用的响应。
-
通过这种方法,DOM 可能不受影响,并且序列化不起作用。
-
参见 jQuery .add() 和 .append() 方法。
-
我希望缺少的双引号是一个错字:
<input type="text name="fred"/>
标签: javascript jquery html