0

这是我的 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 无法完成其请求。我究竟做错了什么?

4

2 回答 2

8

你错过#了你的选择器。

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

应该

$('#change-ums').on('submit',function(e){
   ^
于 2013-09-27T12:11:39.287 回答
1

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

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

于 2013-09-27T12:12:33.740 回答