0

我在一个外部脚本中有我的 Javascript,我希望在文本字段中填充文本然后按下回车按钮时发生这种情况。有人可以解释一下如何让它工作,因为当我按下回车按钮时,现在什么都没有发生。提前感谢您的帮助。

另外,如何将文本从文本框中传递给 javascript 函数。

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html>
  <head> 
        <title> All About Resistors </title>
        <link rel="stylesheet" type="text/css" href="resistorpagestlying.css" />

  <script type="text/javascript"
  src="Value_to_Color.js">
  </script>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  </head>

 <body>

 <p>Resistor Value: <input type="text" onClick="print_text" id="test" value="Ohms"></p>
 <button>Show Color Code</button>


  </body>
  </html>

这是 javascript 文件中的文本

function print_text(){
document.writeln("<b>Bold Hello World via an external js file!</b>"); 
}
4

2 回答 2

0

我想你正在寻找这个:

<p>Resistor Value: <input type="text" onkeypress="print_text();" id="test" value="Ohms"></p>

请注意,print_text()因为()这是您正在调用的函数。其次,如果要在回车时调用该函数,则需要将函数的主体更改为:

function print_text()
{
    if (event.which == 13 || event.keyCode == 13) //enter key?
       document.writeln('<b>Bold Hello World via an external js file!</b>');
}

而不是监听“onclick”事件,您需要监听文本字段上的“onkeypress”事件。

JsFiddle在这里:

http://jsfiddle.net/YpVEQ/1/

于 2013-03-21T13:54:44.913 回答
0

调用函数的语法是:

 function_name()

您缺少括号。

因此:

print_text()

如果您希望在按下特定键时触发该功能,那么您也不想使用click,因为单击元素时会触发该功能。

您需要使用该keypress事件,并测试这样做时按下了哪个键。

我不知道如何找出在onkeypress属性中按下了什么键,因为我不使用内在事件属性。所以让我们转到addEventListener.

<input type="text" id="test" value="Ohms">
<script>
    document.getElementById('test').addEventListener('keypress', function (event) {
      var charCode = (typeof event.which == "number") ? event.which : event.keyCode
      if (charCode === 13) { // 13 is Enter
         print_text(); 
      }
    });
</script>
于 2013-03-21T13:47:17.900 回答