1

我在表单中有一组单选按钮。它的检查状态决定了表单后面的大量其他输入的状态。如果用户在向下移动表单并更改其值后返回它,我需要清除大部分表单,并且用户将需要重新输入许多值。我想警告他们这将会发生。在检查的道具更改之前是否有触发事件?或者我应该在点击时抛出确认,如果他们取消,将值设置回来?需要明确的是,我知道 .click() 会在选中的属性更改后触发。是否有在用户单击之后但在选中的属性更改之前触发的事件?

4

1 回答 1

4

以下似乎有效:

<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']"). 只需将“测试”更改为您的单选按钮组的名称。此外,如果您想确保此事件在其他任何事情之前触发,您可能需要考虑该mousedown事件。

于 2013-04-05T22:27:01.010 回答