Javascript 防止引导表单随“提交”;输入“;

Javascript 防止引导表单随“提交”;输入“;,javascript,jquery,forms,form-submit,enter,Javascript,Jquery,Forms,Form Submit,Enter,当用户按输入上的ENTER键时,我无法阻止表单提交。我找到了一些标签输入,需要触发ENTER键以允许自由值 下面是一个代码片段 Q:如何防止ENTER键在不破坏taginputs的情况下提交表单? Q+:有人能解释一下为什么在我的preventSubmitOnKey函数中$event.keyCode==13,而在我的submitForm函数中它是未定义的吗? $(文档).ready(函数(){ //我不能用那个 //$('#myForm')。on('keydown',proventSubmit

当用户按输入上的
ENTER
键时,我无法阻止表单提交。我找到了一些标签输入,需要触发
ENTER
键以允许自由值

下面是一个代码片段

Q:如何防止
ENTER
键在不破坏taginputs的情况下提交表单?

Q+:有人能解释一下为什么在我的
preventSubmitOnKey
函数中
$event.keyCode==13
,而在我的
submitForm
函数中它是
未定义的吗?

$(文档).ready(函数(){
//我不能用那个
//$('#myForm')。on('keydown',proventSubmitonKey);
$('myForm')。在('submit',submitForm');
});
函数preventSubmitOnKey($event){
console.log('key pressed!',$event.keyCode);//在'ENTER'上显示13
如果($event.keyCode==13){
$event.preventDefault();
}
}
函数submitForm($event){
让invalidForm=false;
$event.preventDefault();//不刷新页面
console.log('key',$event.charCode,$event.keyCode);//显示'undefined'。。
设key=$event.charCode | |$event.keyCode | | 0;
如果(键==13){
$event.stopPropagation();
回来
}
const$form=$(此项);
$form.addClass('was-validated');
如果(!this.checkValidity()){
$event.stopPropagation();
回来
}
//其他一些过程。。。
常数数据={
客户端:$form.find('#clientList').val(),
firstname:$form.find('#contactFirstname').val(),
lastname:$form.find('#contactLastname').val(),
}
console.log('提交',数据);
//调用我自己的API
}
/**
*向上/向下箭头devant-les折叠
*/
[data toggle=“collapse”].fas:在{
内容:“\f139”;
右边距:5px;
}
[data toggle=“collapse”].collapsed.fas:之前{
内容:“\f13a”;
}
/**
*覆盖引导CSS:“.btn”et“按钮”
*->文本对齐:居中;
*/
图例>[数据切换=“折叠”]{
文本对齐:左对齐;
宽度:100%;
}

联系
客户
一
二
模式
汽车
曼努埃尔
名字和名字
你是我的朋友吗
特使

您可以添加按键事件,以防止按enter按钮时提交

$(“表单”)。按键(功能(e){
如果(e.keyCode==13){
e、 预防默认值();
返回false;
}
})

Submit events不向事件处理程序函数发送
KeyboardEvent
——这就是为什么没有键盘特定的事件数据可用。而且没有办法让它出现在那里。您必须将您的
preventSubmitOnKey
附加到所有输入的
keydown
事件。您需要一个代码来仅阻止enter提交吗?比如:$(document).ready(function(){$(window).keydown(function(event){if(event.keyCode==13){event.preventDefault();return false;}}});您是否尝试将console.log放在preventSubmitOnKey(事件)中,然后再阻止默认设置?