【发布时间】:2012-07-12 01:35:34
【问题描述】:
为了能够使用 jQuery 提交表单(非 ajax),我必须进行 hack。
如果我不执行if 声明,表单将不会提交:
这行得通(表单被提交)
$("#myHiddenFieldID").val(JSON.stringify(jsObject));
var x = $("#myHiddenFieldID").val();
if (x) {
$("#myHiddenForm").submit();
}
这不起作用(表单未提交字段保持为空)
$("#myHiddenFieldID").val(JSON.stringify(jsObject));
var x = $("#myHiddenFieldID").val();
// I used to put an alert here, which was shown __before__ the text appeared in the text field???!!!
$("#myHiddenForm").submit();
我不明白,为什么我必须在这里阅读文本字段的内容...
【问题讨论】:
-
这段代码在哪里?我认为在某种 onclick 处理程序中?这也是在
$(document).ready(function() { });块内吗? -
@JonTaylor 似乎是正确的。你是不是意外提交了表单。看看控制台有没有错误?
-
发布最小的 jsfiddle 来重现它
-
也许这段代码被执行了两次,在这种情况下添加 if(x) 语句可以防止第一次 - 错误 - 运行。
标签: javascript jquery html json forms