我遇到了一个问题,jQuery所获取的值与输入文本字段中的实际值不同。
当页面加载来自我们数据库的信息时,将填充具有各种输入的表单。因此,输入文本字段均具有值。
提交表单后,我有一个函数首先运行以检查文本输入。这是该功能的一部分:
$("form#accountSettingsForm input").each(function(){
var input = $(this);
var value = input.attr("value");
}
假设最初加载页面时输入值为12。如果我在文本框中删除12,并将字段保留为空,然后提交表单,则上面获取的代码“ value”仍为12,而不是空。如何检测文本框的实际值?提前致谢。
在这种情况下,value
attribute和value
property之间存在差异。属性来自HTML,属性来自DOM的动态状态。要在用户修改输入后获取当前值,请使用jQuery.val()
方法。
$("#accountSettingsForm").submit(function() {
$(this).find("input").each(function() {
var input = $(this);
var value = input.val();
console.log(this.name + " = " + value);
});
return false;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<form id="accountSettingsForm">
Input 1:
<input name="field1" type="text">
<br>Input 2:
<input name="field2" type="text">
<br>
<input name="submit" type="submit">
</form>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句