Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我按enter键时触发两个事件_Javascript_Html - Fatal编程技术网

Javascript 当我按enter键时触发两个事件

Javascript 当我按enter键时触发两个事件,javascript,html,Javascript,Html,在我的代码中,头部分有以下javascript代码块 function validateForm(bid) { switch (bid) { case "submitIDSearch": alert("submitIDSearch"); return false; case "submitNameSearch": alert("submitNameSearch");

在我的代码中,头部分有以下javascript代码块

    function validateForm(bid) {
        switch (bid) {
        case "submitIDSearch":
            alert("submitIDSearch");
            return false;
        case "submitNameSearch":
            alert("submitNameSearch");
            return false;
        }
    }
    function fKeyDown(e) {
        var  kc = window.event ? window.event.keyCode : e.which;
        if (kc == 13) {
            document.getElementById('submitNameSearch').click();
        }
    }
然后我有下面的HTML代码块

    <form name="checkAbsenceForm" method="post" action="absenceReport.htm" onsubmit="return validateForm(this.submited)">
        <label class="q">ID * <input id="searchRUID" name="searchID" maxlength="9" /></label>
        <input id="submitIDSearch" type="submit" value="Search ID" onclick="this.form.submited = this.id;" />
        <hr />
        <label class="q">First Name <input id="searchFirstName" name="searchFirstName" maxlength="23" onKeyDown="javascript:fKeyDown(event);"/></label>
        <br />
        <label class="q">Last Name * <input id="searchLastName" name="searchLastName" maxlength="23" onKeyDown="javascript:fKeyDown(event);" /></label>
        <input id="submitNameSearch" type="submit" value="Search Name" onclick="this.form.submited = this.id;" />
    </form>

ID*

名字
姓氏*
当我在
searchLastName
输入文本框中按Enter键时,两个警报消息框都会弹出。一个显示
submitNameSearch
,另一个显示
submitdisearch
submitNameSearch
是所需的事件,但是
submitdisearch
不是,我认为它是默认触发的

请问,当我在searchLastName输入文本框中按Enter键时,是否有办法消除
submitSearch
事件

非常感谢

在表单中按Enter键时,表单将被提交。这就是第二次调用
validateForm
的原因

两种解决方案:

1)删除
onKeyDown=“javascript:fKeyDown(事件);”
以在
onsubmit=…
上定义正常验证

2)
fKeyDown
中,添加
e.preventDefault()防止默认处理密钥事件:

function fKeyDown(e) {
    var  kc = window.event ? window.event.keyCode : e.which;
    if (kc == 13) {
        document.getElementById('submitNameSearch').click();
        e.preventDefault();
    }
}
但是,如果您真的在
fKeyDown
中这样做,解决方案1就足够了。

在表单中按Enter键时,表单将被提交。这就是第二次调用
validateForm
的原因

两种解决方案:

1)删除
onKeyDown=“javascript:fKeyDown(事件);”
以在
onsubmit=…
上定义正常验证

2)
fKeyDown
中,添加
e.preventDefault()防止默认处理密钥事件:

function fKeyDown(e) {
    var  kc = window.event ? window.event.keyCode : e.which;
    if (kc == 13) {
        document.getElementById('submitNameSearch').click();
        e.preventDefault();
    }
}

但如果您真的在
fKeyDown
中这样做,解决方案1就足够了。

谢谢。第二个解决方案正是我想要的。谢谢。第二个解决方案正是我想要的。