2014-07-18 55 views
0
<html> 
    <head> 
     <script> 
      function calledHere(value) { console.log(value); } 
     </script> 
    </head> 
    <body> 
     <form name="test"> 
      <input type="button" value="click!" onclick="calledHere(test);" > 
     </form> 
    </body> 
</html> 

從上面的代碼中,在onclick調用中錯誤地傳遞了不帶引號的表單名稱。但是,輸出顯示整個表單DOM元素。不知道它是如何得到表單元素的。javascript onclick函數調用通過表單名稱不帶引號結果

任何幫助將對我在JavaScript方面的學習更有用。

在此先感謝!

+0

您應該將其更改爲'' – RevanProdigalKnight

+0

將來,如果您將代碼添加到jsfiddle.net,則其他成員可以更輕鬆地爲您提供答案。 –

回答

0

您已經在'value'變量中獲得了表單元素。你看到元素的html記錄的原因是因爲console.log在元素上調用了.toString()方法。

此代碼演示了 '價值' 引用形式元素:

<html> 
    <head> 
     <script> 
      function calledHere(value) { value.style.backgroundColor = "red" } 
     </script> 
    </head> 
    <body> 
     <form name="test"> 
      <input type="button" value="click!" onclick="calledHere(test);" > 
     </form> 
    </body> 
</html> 

http://jsfiddle.net/John_C/KZ3KR/

此答案解釋變量的範圍;爲什麼您可以將表單名稱傳遞給函數:https://stackoverflow.com/a/1416157/1588990

+0

感謝您的快速回復。 – Nike

相關問題