2012-06-02 36 views
-1
First name: <input type="text" name="firstname"></input> 
<input type="submit" value="Submit" /> 

比方說,我有上面的簡單形式。我將如何獲取用戶在JS的名字字段中輸入的內容。我試過了:抓取用戶輸入

document.getElementsByTagName("input")[1].onclick = function() { 
    inputted = document.getElementsByTagName("input")[0].innerHTML; 
} 

但這並不奏效。我將如何做到這一點?

回答

2

使用value用於文本輸入:

inputted = document.getElementsByTagName("input")[0].value; 

還要確保var關鍵字添加到您的變量,這樣你就不會創建一個全局變量:

var inputted = document.getElementsByTagName("input")[0].value; 

也不宜放關閉</input>標籤,因爲它是自動關閉標籤:

<input type="text" name="firstname" /> 

通過您還可以使用下面的語法獲取元素值的方式:

formName.elementName.value; 

或者

document.forms['formName'].elementName.value; 

你的情況,那就是:

var inputted = formName.firstname.value; 

或者

var inputted = document.forms['formName'].firstname.value; 

formName替換爲您的<form>元素的任何名稱。


最後,您還可以,如果你申請id得到它元素的value

<input type="text" name="firstname" id="firstname" /> 

然後用getElementById:如果您使用的是形式

var inputted = document.getElementById('firstname'); 
-1

,你可以嘗試這樣的代替:

var input = document.forms["formName"]["fieldName"].value; 

否則,利用.value屬性:

var input = document.getElementsByTagName("input")[0].value; 
0
var inputs=document.getElementsByTagName("input"), 
     i=inputs.length; 
// 
    while(i--){ 
       inputs[i].onclick=myClickEventHandler; 
    }; 
// 
function myClickEventHandler(evt){ 
    var myVal; 
    switch (this.name) { 

     case 'firstname': 

      myVal = this.value; 
      break; 
    }; 
};