1

为了能够使用 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();

我不明白,为什么我必须在这里阅读文本字段的内容......

4

1 回答 1

2

由于提升,赋值语句在值传递到文本字段之前执行:

var x = $("#myHiddenFieldID").val();
$("#myHiddenFieldID").val(JSON.stringify(jsObject));
$("#myHiddenForm").submit();
于 2012-10-01T06:35:25.863 回答