对于我的javascript代码,我尝试了Get the value in an input text box中的2个替代解决方案,从RJD22回答2,请参阅下面的代码。选项A工作正常,但选项B没有;当我输入一个图形(甚至是一些文本)时,控制台显示“未定义”。
知道为什么B不起作用吗?我可以使用选项A,但我想验证表单字段是否已填写,并且从val()描述(http://api.jquery.com/val/)中我无法看到val()在没有填充任何值时返回。 / p>
Thnx提前发表任何评论。
html代码:
</label> <input id="usage" type="text" name="usage">
javascript代码:
this.usage = $("#usage").val(); //OPTION A: WORKS
this.usage = $("#usage").attr("value"); //OPTION B: DOESNT WORK
console.log(this.usage);
答案 0 :(得分:2)
val()
返回''
(空字符串)。您应该使用val()
代替prop
或attr
。
答案 1 :(得分:0)
attr
用于从HTML获取实际属性。我认为你应该使用prop
。
您可以在此处了解attr
和prop
之间的区别:.prop() vs .attr()
答案 2 :(得分:0)
您可以使用以下方式:
var currentValue = $('#usage').prop("value");
或
var currentValue =$('#usage').val();
在attr('value')
中,您明确表示您正在寻找名为value的属性的值。最好使用val()
,因为这是jQuery开箱即用的功能,用于从表单元素中提取值。