为了能够使用jQuery提交表单(非ajax),我必须做一个修改。
如果我不执行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();
我不明白,为什么我必须在这里阅读文本字段的内容...
最佳答案
由于hoisting,在将值传递到文本字段之前执行赋值语句:
var x = $("#myHiddenFieldID").val();
$("#myHiddenFieldID").val(JSON.stringify(jsObject));
$("#myHiddenForm").submit();