Jquery输入类型submit,event.preventDefault()不要停止提交

时间:2014-09-30 08:31:20

标签: javascript jquery html

我有这个jquery函数, event.preventDefault()不起作用,有人可以帮我理解我做错了什么吗?

var wrBtnEnabled= function(btnId, btnName, btnFeedbackMessageId){
    $(btnId).click(function(event){

        var wrInput = "input[value='"+btnName+"']";
        var isSendFeedback = !$(document).find(wrInput).is(':disabled');

        if(isSendFeedback){
            event.preventDefault(); 

            $(btnFeedbackMessageId).click(); 
        }
    });
}

wrBtnEnabled('#HEBlocks_wt11_block_wtbtnTerminar', 'Actualizar', '#HEBlocks_wt11_block_wt1824_wtbtnFeedback');

HTML(如果启用了其他输入,我想停止提交的输入):

<input onclick="OsAjax(arguments[0] || window.event,'HEBlocks_wt11_block_wtbtnTerminar','HEBlocks_wt11$block$wtbtnTerminar','','__OSVSTATE,',''); return false;" type="submit" name="HEBlocks_wt11$block$wtbtnTerminar" value="Continuar" id="HEBlocks_wt11_block_wtbtnTerminar" tabindex="820" class="btnGeneral" style="align=center">

感谢。 w ^

1 个答案:

答案 0 :(得分:0)

而不是 preventDefault 尝试返回false ,如下所示:

if(isSendFeedback){
    return false;
    $(btnFeedbackMessageId).click(); 
}

e.preventDefault()会阻止发生默认事件,e.stopPropagation()会阻止事件冒泡,return false会同时执行这两项操作。