我使用jquery 1.3.2。 我有一个页面,其中包含选择列表和提交按钮。我想阻止提交,如果当前选中(未在html中选中)选项等于某个值(已取消)?
HTML:
<form id="update-form">
<select id="edit-status">
<option value="cancelled">Cancelled</option>
<option value="sent">Sent</option>
<option value="pending" selected="selected">Pending</option>
</select>
<input id="submitbutton" value="Update" type="submit">
jquery的:
$(document).ready(function() {
$("#edit-status").change(function () {
if (
$('#edit-status').val() == 'cancelled'
) {
$("#update-form").submit(function(e) {
alert('alert');
e.preventDefault(e);
});
}
});
});
jsfiddle:http://jsfiddle.net/q9Mh9/1/
代码可以正常工作,但前提是我第一次选择“已取消”值。在那之后,无论我选择哪个选项,提交后我都会得到提醒。谢谢你的帮助。
答案 0 :(得分:0)
您错误地绑定了表单提交事件。在您的代码中,当首次更改下拉列值时,将绑定form.Submit事件。绑定事件后,每次单击更新按钮时都会触发该事件。
以下解决方案适合您。
演示:http://jsfiddle.net/q9Mh9/6/
$(document).ready(function () {
$("#update-form").submit(function (e) {
if ($('#edit-status').val() == 'cancelled') {
alert('alert');
}
e.preventDefault(e);
});
$("#edit-status").change(function () {
$("#update-form").submit();
return false;
});
});