Javascript 防止在按Enter键时提交表单
关于stackoverflow,有很多答案。但不幸的是,没有一个是为我工作的。我会一个接一个地告诉你我试过什么Javascript 防止在按Enter键时提交表单,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,关于stackoverflow,有很多答案。但不幸的是,没有一个是为我工作的。我会一个接一个地告诉你我试过什么 @组件(…) 类MyComponent{ skillsHandleEnter(事件,skillString){ event.preventDefault(); //…你的逻辑 } } 但这些方法都不起作用。我使用的是ngx标签输入,它允许我应用一些由enter键分隔的标签。这就产生了一个问题。当我按下回车键时,我的表单被提交,只有一个我可以输入的标签。相信我,我已经尽了一切努力来防
@组件(…)
类MyComponent{
skillsHandleEnter(事件,skillString){
event.preventDefault();
//…你的逻辑
}
}ngx标签输入
,它允许我应用一些由enter
键分隔的标签。这就产生了一个问题。当我按下回车键时,我的表单被提交,只有一个我可以输入的标签。相信我,我已经尽了一切努力来防止这种情况发生,而且我也不想让事情变得过于复杂。请忽略命名约定。我以后再修
在实现任何解决方案之前,这里是我的blog.component.html
<form [formGroup]="editorForm" (ngSubmit)="onSubmit()">
<div class="form-group">
<label for="exampleInputEmail1">
<h3>Title</h3>
</label>
<input type="text" class="form-control" id="inputTitle" aria-describedby="emailHelp" placeholder="Enter a question that explains your problem exactly">
<br>
<label for="editor">
<h3>Editor</h3>
</label>
<quill-editor [styles]="editorStyle" [modules]="config" formControlName="editor"></quill-editor>
</div>
<ngx-tags-input class="form-control input-lg" name="tags"></ngx-tags-input>
<button class="btn btn-primary mt-3 mb-3">Submit</button>
</form>
标题
编辑
提交
请更正。使用
ngSubmit
的唯一原因是在“回车”键上提交表单。
因此,您可以删除ngSubmit
事件侦听,并将其替换为按钮的单击事件。我还通过添加type=“button”
从按钮中删除了提交
标题
编辑
提交
使用ngSubmit
的唯一原因是在“回车”键上提交表单。
因此,您可以删除ngSubmit
事件侦听,并将其替换为按钮的单击事件。我还通过添加type=“button”
从按钮中删除了提交
标题
编辑
提交
html元素有三个有效类型
提交:按钮将表单数据提交到服务器。这是默认值,html元素有三个有效类型
提交:按钮将表单数据提交到服务器。这是默认设置,我遵循以下两个简单步骤:
1) 我在我的表单
标记中添加了一个属性
(keydown.enter)=“$event.preventDefault()”
2) 在提交按钮上添加了(单击)
侦听器
因此,整个HTML代码如下所示:
<div class="container">
<div class="row pt-5">
<div class="col-md-12 col-lg-12 col-sm-12 bg-light">
<form [formGroup]="editorForm" (keydown.enter)="$event.preventDefault()">
<div class="form-group">
...
</div>
<button class="btn btn-primary (click)="onSubmit()">Submit</button>
</form>
</div>
</div>
</div>
...
我遵循以下两个简单步骤:
1) 我在我的表单
标记中添加了一个属性
(keydown.enter)=“$event.preventDefault()”
2) 在提交按钮上添加了(单击)
侦听器
因此,整个HTML代码如下所示:
<div class="container">
<div class="row pt-5">
<div class="col-md-12 col-lg-12 col-sm-12 bg-light">
<form [formGroup]="editorForm" (keydown.enter)="$event.preventDefault()">
<div class="form-group">
...
</div>
<button class="btn btn-primary (click)="onSubmit()">Submit</button>
</form>
</div>
</div>
</div>
...
<代码>(OnSudio)=“OnSt递交(F)”<代码> >函数>提交(f){F.FortError Debug();} /Corp>或类似。Hy@ TaZeEL如果回答中的任何一个已经解决了您的问题,请考虑接受它。这向更广泛的社区表明,您已经找到了解决方案并给回答者和您自己带来了一些声誉。没有义务这样做@马尔巴马维。我明白这一点。但是没有一个答案解决了我的问题。我提出了我自己的解决方案,我现在发布。希望你们能接受并支持投票。谢谢。<代码>(OnSudio)=“OnSt递交(F)”<代码>函数>提交(f){F.FortEnguleDebug();} /代码>或类似。Hy@ TaZeEL如果回答中的任何一个已经解决了您的问题,请考虑接受它。这向更广泛的社区表明,您已经找到了解决方案并给回答者和您自己带来了一些声誉。没有义务这样做@马尔巴马维。我明白这一点。但是没有一个答案解决了我的问题。我提出了我自己的解决方案,我现在发布。希望你们能接受并支持投票。谢谢