从文本框中获取值不起作用

时间:2013-08-07 11:40:17

标签: jquery

对于我的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);

3 个答案:

答案 0 :(得分:2)

当没有输入任何值时,

val()返回''(空字符串)。您应该使用val()代替propattr

Fiddle.

答案 1 :(得分:0)

attr用于从HTML获取实际属性。我认为你应该使用prop

您可以在此处了解attrprop之间的区别:.prop() vs .attr()

答案 2 :(得分:0)

您可以使用以下方式:

var currentValue = $('#usage').prop("value");

var currentValue =$('#usage').val();

attr('value')中,您明确表示您正在寻找名为value的属性的值。最好使用val(),因为这是jQuery开箱即用的功能,用于从表单元素中提取值。