Javascript jQuery,提交未在表单上取消

Javascript jQuery,提交未在表单上取消,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我有一个表单,我正试图使用JS取消它,这样我就可以使用Ajax提交它 然而,我刚刚开始,当我制作表单并测试提交是否被取消/返回是否为假时,我发现没有。我检查了其他线程/帖子,但没有一个对我有帮助。下面是我的表单,后面是.js文件。chrome中的控制台也没有给我任何错误 编辑:我忘了提到.js文件中的警报也不会出现 <form method="post" class="form-horizontal form-bordered" id="user-data-form"> &l

我有一个表单,我正试图使用JS取消它,这样我就可以使用Ajax提交它

然而,我刚刚开始,当我制作表单并测试提交是否被取消/返回是否为假时,我发现没有。我检查了其他线程/帖子,但没有一个对我有帮助。下面是我的表单,后面是.js文件。chrome中的控制台也没有给我任何错误

编辑:我忘了提到.js文件中的警报也不会出现

<form method="post" class="form-horizontal form-bordered" id="user-data-form">
    <div class="form-group">
        <label class="col-md-3 control-label" for="oldpassword">Old Password</label>
        <div class="col-md-6">
            <input type="password" id="oldpassword" name="oldpassword" class="form-control" placeholder="Old Password">
        </div>
    </div>
    <div class="form-group form-actions">
        <div class="col-md-9 col-md-offset-3">
            <!-- Submit element -->
            <input type="submit" class="btn btn-effect-ripple btn-primary" value="Update">
            <!-- END Submit element -->
        </div>
    </div>
</form>

我建议您尝试创建
事件.preventDefault()
作为
警报运行的第一件事
可能允许HTML表单的正常按钮按下功能在警报出现在屏幕上时运行

$( '#user-data-form' ).submit( function(event) {
    event.preventDefault();
    alert( "Handler for .submit() called." );
    return false;
});
根据您的评论:

将javascript添加到

<script src="js/test.js"></script>
</body>
</html>
试试这个:

在html中:

   <input type="submit" class="btn btn-effect-ripple btn-primary" value="Update" id="SUBMIT">

尝试更改您的输入提交到按钮并创建id。您可以在表单中删除您的id并将该id放入课堂

<form method="post" class="form-horizontal form-bordered user-data-form">
<button id="submit" type="submit" class="btn btn-effect-ripple btn-primary" value="Update"></button>

希望这有帮助

只是尝试了一下,它也没用,伙计。我添加该警报只是为了表明它已被调用,我还应该添加该警报从未出现。您确定.js文件包含在html文件中吗。怎么包括在内?硬编码还是标签?我在页面底部有以下内容&
@RiggsFolly@John不要把js放在
的底部,它应该在
之前放进去的
上面。我试过这个伙伴,可惜也没用。谢谢你的尝试:)但是你能看到警告框出现了吗?没有,但是我不确定这是否是因为页面由于提交而被重新加载。我已经更新了我的答案。我想你必须先点击按钮提交。不是形式。因为它会触发警报框。请检查是否正在提取js文件。您可以转到chrome上的“网络”选项卡并检查js文件名。如果成功调用了.js文件,请在js文件的开头添加控制台日志,并在函数中添加控制台日志,以检查脚本的运行位置。有没有可能看到您的代码正在运行?因为fiddle似乎按预期工作。如果您想要输入,而不是按钮,则仍然是一样的,只需添加(id=“submit”)
   <input type="submit" class="btn btn-effect-ripple btn-primary" value="Update" id="SUBMIT">
 $('#SUBMIT').on('submit', function(e) {
    e.preventDefault();
   var confirm = confirm('Message');
      if(confirm === true){
      //do something
      }else{ 
       return false;
      }
 });
<form method="post" class="form-horizontal form-bordered user-data-form">
<button id="submit" type="submit" class="btn btn-effect-ripple btn-primary" value="Update"></button>
<form method="post" class="form-horizontal form-bordered user-data-form">
<input id="submit" type="submit" class="btn btn-effect-ripple btn-primary" value="Update">
$('form.user-data-form #submit').click(function(e){
    e.preventDefault();
    alert( "Handler for .submit() called." );
    return false;
});