2014-07-18 27 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

相关问题