为什么<button type =“button”>会触发回发?</button>

时间:2015-03-02 04:07:18

标签: jquery html asp.net-mvc

我在FORM元素中有<button type='button'>并且它不会触发回发,这就是我想要的。

我真正想要的是将一些jQuery脚本绑定到按钮。但是,当我这样做时,单击按钮会导致回发。

<input type="submit" class="btn btn-danger" id="btnProceed" value="Proceed" />
<button type="button" class="btn" id="btnCancel">Cancel</button>

$('#btnCancel').click(function () {
    $('#btnProceed').prop('disabled', 'true');
    $('#msg').css('display', 'inline');
    this.disabled = true;
    return false;
});

它是如何工作的?如何阻止回发(不将按钮移动到FORM外部)?

3 个答案:

答案 0 :(得分:0)

试试这个

$('#btnCancel').click(function (event) {
    event.preventDefault();
    $('#btnProceed').prop('disabled', 'true');
    $('#msg').css('display', 'inline');
    this.disabled = true;
    return false;
});

另外,试试

   <input type="button" class="btn" id="btnCancel">Cancel</input>

答案 1 :(得分:0)

this.disabled = true;

this.disabled = false;

答案 2 :(得分:0)

尝试以下代码

<input type="submit" class="btn btn-danger" id="btnProceed" value="Proceed" />
<input type="button" class="btn" id="btnCancel">Cancel</button>
$('#btnCancel').on('click',function () {
$('#btnProceed').prop('disabled', 'true');
$('#msg').css('display', 'inline');
this.disabled = false;
return false;
});