Javascript 正在创建警报框(jQuery、Bootstrap),但它一直在消失

Javascript 正在创建警报框(jQuery、Bootstrap),但它一直在消失,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,让我们从一支笔开始: 函数validateInput,事件{ "严格使用",; 如果输入==null | |输入!=={ $.ajax{ 方法:“POST”, cache:false, url:“/api/getAll” } .donefunctiondata,textStatus,jqXHR{ 如果数据!==null&&$.isArraydata&&data.indexOfinput.toUpperCase===-1{//,则AJAX返回有效,但符号不存在。 //调试器; $'jsError

让我们从一支笔开始:

函数validateInput,事件{ "严格使用",; 如果输入==null | |输入!=={ $.ajax{ 方法:“POST”, cache:false, url:“/api/getAll” } .donefunctiondata,textStatus,jqXHR{ 如果数据!==null&&$.isArraydata&&data.indexOfinput.toUpperCase===-1{//,则AJAX返回有效,但符号不存在。 //调试器; $'jsErrors.html'给定符号不存在。

; $'jsErrors'.addClass'alert'; $'jsErrors'.addClass'alert-danger'; $'jsErrors'.removeClass'hidden'; $'jsErrors'.removeClass'invisible'; $'jsErrors'。显示; }否则{ 调试器; editWatchListinput.toUpperCase,“watch”;//将其传递给pen中省略的函数 } } .failfunctionjqXHR,文本状态,错误抛出{ console.errorthrown;//我知道这不太理想。在现实世界中,我会问我的主管如何处理此实例。 } .Always功能A、文本状态c{ 调试器; 违约事件; }; }否则{ 警告“提交前请输入符号”; } } 添加符号 //Enter与单击按钮具有相同的效果 $document.readyfunction{ $document.keypressfunction{ 如果$'symbol'.val!=&&e.which==13{//,则仅当用户按enter键并且输入框中有要验证的内容时提交。 validateInput$'symbol'.val; e、 防止违约; } }; };
问题评论摘要

您似乎正在处理表单中提交按钮的单击事件。这将导致表单提交并可能重新加载页面,而不考虑您正在执行ajax逻辑


为了防止出现这种情况,您很可能希望将submit按钮更改为常规按钮,以便在单击表单时不提交表单;或者将事件传递到onclick处理程序并调用event.preventDefault,使其位于ajax逻辑之外,因此表单不会被提交。

我看不出提交处理程序在哪里取消表单提交。@t这是表单中提交按钮的单击处理程序,除非停止,否则将导致表单提交到表单指向的任何端点。如果未指定端点,则使用相同的页面url。你的不公平。。。一个选项是将类型更改为button,但我想知道多种方法来完成这件事,那么在JS中,我该如何停止呢?将事件传递给处理程序并执行event.preventDefault。或者在onclick中将return放在方法之前,并使方法return为false。