【发布时间】:2014-12-26 10:55:27
【问题描述】:
在下面的代码中,当我更改框中的值并单击“更新”时,jQuery 会获取输入字段的旧值。当我刷新页面(刷新后保留新输入)并再次单击“更新”时,将使用新值。我做错了什么?
<body>
<script type="text/javascript">
$(document).ready(function() {
var submit_command = function(e) {
$.getJSON($SCRIPT_ROOT + '/__test',
e.data,
function(data) {
$("#result").text(data.test);
});
return false;
};
$('a#update_parameter').bind('click', {
name: "Param",
test: parseFloat($('input:text[name=input_parameter]').val().replace(",", "."))
}, submit_command);
});
</script>
<div class="parameter">
<span class="parameter_name">My Parameter</span>
<input type="text" name="input_parameter" size=3 />
<a href=# id="update_parameter">Update</a>
<span id="result">?</span>
</div>
</body>
注意:随时提出改进建议。
【问题讨论】:
-
为您的输入字段提供一个 ID,例如 #input_parameter ,而不是 $('#input_parameter').val()
-
@pszaba:这似乎没有帮助。我得到相同的结果。只有在 Firefox 上刷新后才会更新输入。 Chrome 似乎重置了输入字段,但服务器日志显示它发送 NaN(空),即使框中有一个数字。
-
我知道这并不能解决您的问题,但您写道:“注意:请随时提出改进建议。”,id 总是更好
-
@pszaba:好的,很酷。我以为你在提出解决方案,抱歉。
-
顺便说一句,在你的 submit_command() 中你可以 console.log(e.data) 吗??
标签: javascript jquery html