Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 绑定时,On()方法页将附加事件并转到下一页_Javascript_Jquery - Fatal编程技术网

Javascript 绑定时,On()方法页将附加事件并转到下一页

Javascript 绑定时,On()方法页将附加事件并转到下一页,javascript,jquery,Javascript,Jquery,我的问题是,当我尝试使用JQuery on()绑定click事件时。它不会进入下一页 您最喜欢的颜色是什么?此输入是必需的。 $('#continue-bank-login-security-question-submit').off('click'); $('#continue-bank-login-security-question-submit').on('click',function(e){ e.preventDefault(); e.stopPropagation()

我的问题是,当我尝试使用JQuery on()绑定click事件时。它不会进入下一页

您最喜欢的颜色是什么?此输入是必需的。
$('#continue-bank-login-security-question-submit').off('click');
$('#continue-bank-login-security-question-submit').on('click',function(e){
    e.preventDefault();
    e.stopPropagation();

    if ($('.tranfer--bank-security-question-inputs').val().length===0){
        $('.transfer--form-row-error').show();
        return false;
    } else {
        $('.transfer--form-row-error').hide();
        return true;
    }
});
因为你打电话

e.preventDefault();
e.stopPropagation();

当然,它在返回后不会执行任何操作。

这应该可以工作,这样您就不会删除原始的按钮单击处理:

var elem = $('#continue-bank-login-security-question-submit');
var SearchButtonOnClick = elem.get(0).onclick;
elem.get(0).onclick = function() {
    var isValid = false;
    var sessionKey = '';
if ($('.tranfer--bank-security-question-inputs').val().length===0){
        $('.transfer--form-row-error').show();
        return false;
    } else {
        $('.transfer--form-row-error').hide();
        SearchButtonOnClick();
    }   
};
你可以试试这个:

<button id="continue-bank-login-security-question-submit" onclick="return Validate();">Next</button>

function Validate() {
    if ($('.tranfer--bank-security-question-inputs').val().length === 0) {
        $('.transfer--form-row-error').show();
        return false;
    } else {
        $('.transfer--form-row-error').hide();
        nextPage();
    }
}
下一步
函数验证(){
if($('.transfer--bank security question inputs').val().length==0){
$('.transfer--form row error').show();
返回false;
}否则{
$('.transfer--form row error').hide();
下一页();
}
}

是否
继续银行登录安全问题提交
表单中的提交按钮?不,它不在表单中,那么您为什么希望它做其他事情?它是一个类似于单页应用程序的小部件,在单击事件时显示不同的场景。在之前的3页中,它对我来说是有效的,但在这一点上,我被卡住了。如果我不使用off()方法删除事件处理程序。它将直接进入下一个场景,而不验证输入错误。您也可以添加html吗?是提交按钮id吗?继续银行登录安全问题提交吗?这种代码可能会工作,但这不是使用jQuery完成工作的最佳方式。他应该正确地添加/删除他的处理程序(请参阅我关于名称空间的回答),然后确保他的事件传播是正确的。这个答案中的代码假设只有一个其他的click处理程序,并且它位于同一个元素上。这样太脆弱了。Chris,如果错误字段为空,它将跳过下一个场景,而不验证错误字段。这是一个好主意:)通过将代码放入现有的事件处理程序函数中,可以解决此问题。if($('.transfer--bank security question inputs').val().length==0{$('.transfer--form row error').show();返回false;}else{$('.transfer--form row error').hide();返回true;}