点击输入不会以HTML格式调用javascript函数

Mus*_*hir 1 javascript forms

我有一个带有一个输入字段的简单表单.它在我使用提交时工作正常,但是在文本字段中按Enter键会在URL中重新加载带有表单变量的页面.

我查看了在线提供的许多解决方案(除了JQuery,因为它看起来像是一些过于简单的东西)并且无法让'enter'工作.任何帮助都会很棒

<form name="myform" action="" method="GET" > Enter text: <br>
  <input type="text" name="queryinput" onkeyup="if(isEnterPressed(event)){initialize(this.form.queryinput.value);}"><P>
  <input type="button" name="Search" value="Search" onClick="initialize(this.form.queryinput.value);">
  <input type="submit" value="Reset" onclick="reset();" />
</form>

function isEnterPressed(e){
  var keycode=null;
  if (e!=null){
    if (window.event!=undefined)    
      if (window.event.keyCode) keycode = window.event.keyCode; 
      else if (window.event.charCode) keycode = window.event.charCode;
    }else{
            keycode = e.keyCode;
    }
  }
return (keycode == 13);}
Run Code Online (Sandbox Code Playgroud)

使用onsubmit编辑1:版本而不是键码侦听器:

<form name="myform" action="" onsubmit="return initialize(this.form.queryinput.value)"  method="GET"> Enter text:<br>
<input type="text" name="queryinput">
<input type="submit" value="submit" >
<input type="button" value="Reset" onclick="clearAllPoints();"/>
</form>
Run Code Online (Sandbox Code Playgroud)

使用onSubmit会导致单击按钮的行为与按Enter键相同,但两个版本都不起作用.

Dav*_*vid 6

尝试onSubmit事件用于元素form而不是onClick事件input.似乎onClick只有当它被鼠标物理点击时才会触发(这是有道理的,我从来没有遇到过这样的猜测).onSubmit但是,无论表单的提交方式如何,都应该触发该事件.