我在表单中有一组单选按钮。其检查状态确定了表单后面的大量其他输入的状态。如果用户在向下移动表单并更改其值后返回到它,我需要清除大部分表单,并且用户需要重新输入许多值。我想提醒他们,这将会发生。是否有一个事件在检查的道具改变之前触发?或者我应该在点击时抛出确认,如果取消,请将值设置回来? 要清楚,我知道.click()在更改checked属性后触发。是否有一个事件在用户点击之后但在更改了checked属性之前触发了?
答案 0 :(得分:3)
以下似乎有效:
<input type="radio" name="test" onclick="if(!confirm('Are you sure?'))event.preventDefault();" />
或者使用JQuery:
$(document).ready(function(){
$("input[type='radio'][name='test']").click(function(e){
if(!confirm('Are you sure?')) e.preventDefault();
});
});
JQuery选择器可能只能缩减为$("[name='test']")
。只需将“test”更改为单选按钮组的名称即可。此外,如果您想确保此事件在其他任何事件之前触发,您可能需要考虑mousedown
事件。