2013-08-07 8 views
0

對於我的JavaScript代碼,我嘗試了2種替代解決方案,其中Get the value in an input text box,來自RJD22的2個答案,請參閱下面的代碼。選項A工作正常,但選項B doesnt;當我輸入一個數字(甚至是一些文本)時,控制檯顯示'undefined'。從文本框中獲取值不起作用

任何想法爲什麼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); 

回答

1

val()返回''(空字符串),當沒有輸入值。您應該使用val()而不是propattr

Fiddle.

+0

thnx(!)。道具也沒有工作。 – Joppo

0

attr用於獲取從HTML的實際屬性。我認爲你應該使用prop

你可以閱讀有關attrprop這裏的區別:.prop() vs .attr()

0

您可以使用以下幾種方式:

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

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

attr('value')你明確說你正在尋找的價值一個名爲value的屬性。最好使用val(),因爲這是jQuery的開箱即用功能,用於從表單元素中提取值。