通过JQuery阻止页面在表单提交时刷新

时间:2013-09-27 12:07:37

标签: javascript jquery html

这是我的HTML代码:

<form id="change-ums" class="form-horizontal" style="margin-top: 10px;">

                    <div class="control-group">
                        <label class="control-label" for="umsid">ID :</label>
                        <div class="controls"><input type="text" id="umsid" required/></div>
                    </div>

                    <div class="control-group">
                        <label class="control-label" for="umspass">Password :</label>
                        <div class="controls">
                            <input type="password" id="umspass" required/>
                            <br>
                            <br>
                            <button type="submit" class="btn btn-primary btn-small">Change Pass</button>
                        </div>
                    </div>
                </form>

这是我的Jquery代码:

$('change-ums').on('submit',function(e){
                        e.preventDefault();
                        $.ajax({
                           type : 'post',
                           url : '/user/changepass',
                           data : $('change-ums').serialize(),
                           success : function(){
                               alert('Your password has been changed successfully.');
                           }
                        });
                    });

我认为我正在做所有事情,甚至使用preventDefault(),但页面仍然刷新,jquery无法完成其请求。我做错了什么?

2 个答案:

答案 0 :(得分:8)

您在选择器中错过了#

$('change-ums').on('submit',function(e){

应该是

$('#change-ums').on('submit',function(e){
   ^

答案 1 :(得分:1)

您的选择器应为$('#change-ums')(#= id)

另外,请确保在dom加载后加载脚本。