这是我的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无法完成其请求。我做错了什么?
答案 0 :(得分:8)
您在选择器中错过了#
。
$('change-ums').on('submit',function(e){
应该是
$('#change-ums').on('submit',function(e){
^
答案 1 :(得分:1)
您的选择器应为$('#change-ums')
(#= id)
另外,请确保在dom加载后加载脚本。