2016-12-14 180 views
0

我正在嘗試創建一個輸入表,並且無論輸入到表中的任何名稱都將設置爲變量站,並將該變量站傳遞給變量z。我不太可能得到這個。下面是我試圖將一個變量傳遞給另一個的代碼。將一個變量傳遞給html和javascript中的另一個變量

<!DOCTYPE html> 
<html> 
<body> 

<h1>JavaScript Variables</h1> 

<table width=840 align="center" cellspacing=0 cellpadding=0 border=0> 
<tr> 
     <td width=40% valign="middle" align="right" nowrap> Station Name :</td> 
     <td width="5%" align="center"><font color="red">(*) </font></td> 
     <td align="left" nowrap> 
      <input type="text" style="background-color:#EEA2A2;" id="station"> 
     </td> 
     </tr> 
</table> 
<p>In this example, x, y, and z are variables</p> 

<p id="demo"></p> 

<script> 
var z = document.getElementById("station"); 
var y = 6; 
document.getElementById("demo").innerHTML = z; 
</script> 

</body> 
</html> 

爲什麼要傳遞變量站(基於輸入表),以變量z的原因是,在z值將被高速緩存爲另一個表中的值。你能幫助我嗎?

回答

0

由於輸入沒有初始值,因此您需要觸發某些事件發生副本,例如焦點離開輸入時。您當前的代碼立即執行復制,並不等待輸入內容。

此外,您要複製輸入的值,而不是輸入本身。

document.getElementById("demo").innerHTML = z.value; 

因此,舉例來說,你可以這樣做:

var z = document.getElementById("station"); 
var y = 6; 
z.onblur = function() { 
    document.getElementById("demo").innerHTML = this.value; 
} 

Here is a Fiddle Demo

相關問題