如何通过javascript或jquery在表单中设置多个默认按钮?
我有两个DIV称为dvCreate和dvLogin,每个DIV中都有一个提交按钮(btnCreate和btnLogin) 我希望在dvLogin中按Enter键时触发btnLogin的单击事件,在dvCreate中按Enter键时触发btnCreate的单击事件如何通过javascript或jquery在表单中设置多个默认按钮?,javascript,jquery,html,Javascript,Jquery,Html,我有两个DIV称为dvCreate和dvLogin,每个DIV中都有一个提交按钮(btnCreate和btnLogin) 我希望在dvLogin中按Enter键时触发btnLogin的单击事件,在dvCreate中按Enter键时触发btnCreate的单击事件 <div class="box-authentication" id="dvCreate"> <input id="emmail_register" name="emmail_register" type="
<div class="box-authentication" id="dvCreate">
<input id="emmail_register" name="emmail_register" type="text" class="form-control">
<button type="submit" id="btnCreate" class="button" name="submit" value="create">Create User</button>
</div>
<div class="box-authentication" id="dvLogin">
<input id="emmail_register" name="emmail_register" type="text" class="form-control">
<button type="submit" id="btnLogin" class="button" name="submit" value="create">Login Usre</button>
</div>
创建用户
登录Usre
如何通过JavaScriptot jquery处理这个问题?您可以同时生成这两个divs表单,然后使用jquery
$('#dvLogin').submit(函数(ev){ev.preventDefault();/*此处代码的其余部分*/})控制表单。
这样,无论您是按按钮还是按输入上的enter键,表单都会被提交,您可以在上面的部分中运行所需的任何代码
$(document).ready(function () {
$("#dvCreate").keypress(function (e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$('#btnCreate').click();
}
});
$("#dvlogin").keypress(function (e) {
if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
$('#btnLogin').click();
}
});
});
如果您修复了html,使登录按钮的值为
login
,而不是create,则当表单提交时,您的后端将获得create/login的submit
的表单值。考虑到这一点,您真的需要将回车键转换为单击吗?如果您必须提交但不想离开页面,请查看JQuery的ajaxSubmit方法。
document.querySelector('#dvCreate').addEventListener('keypress', (event) => {
if(event.key==='Enter'){
event.preventDefault();
eventHandlerOfDvLogin()
}
});
document.querySelector('#dvLogin').addEventListener('keypress', (event) => {
if(event.key==='Enter'){
event.preventDefault();
eventHandlerOfDvCreate()
}
});