0

对于我的 javascript 代码,我尝试了Get the value in an input text box 中的 2 个替代解决方案,从 RJD22 回答 2,请参阅下面的代码。选项 A 工作正常,但选项 B 不行;当我输入一个数字(甚至是一些文本)时,控制台显示“未定义”。

知道为什么 B 不起作用吗?我可以使用选项 A,但我想验证表单字段是否已填写,并且从 val() 描述(http://api.jquery.com/val/)我看不到 val() 在没有时返回什么值已填写。

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);
4

3 回答 3

2

val()''未输入任何值时返回(空字符串)。您应该使用val()代替propor attr

小提琴。

于 2013-08-07T11:46:39.853 回答
0

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

attr您可以在此处了解和之间的区别prop.prop() 与 .attr()

于 2013-08-07T11:41:50.523 回答
0

您可以使用以下方式:

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

或者

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

attr('value')你特别说你正在寻找一个名为 value 的属性的值。最好使用它,val()因为这是 jQuery 的开箱即用功能,用于从表单元素中提取值。

于 2013-08-07T11:56:55.567 回答