我有一个脚本,该脚本根据他们以下拉式形式进行的选择重定向用户。该脚本正常工作,除了没有形式时。当不存在表单时,它会重定向用户。我认为这是因为代码的编写方式。它说,如果我们没有选择,请重定向。由于没有下拉表格,因此没有我们选择的我们。如果没有运输国家,我该如何重写以不定向?
$(document).ready(function(){
var una = "ok";
var checkIfUS = function() {
if(($("#shipping-country").val() != "US") &&(una=="ok")){
iCheckout.insertForm();
$("#iCheckoutForm").submit();
}
};
checkIfUS(); // check if it should redirect after dom load
$("#shipping-country").change(function(event){
checkIfUS(); // check if it should redirect on form change
});
});
如果条件将您的条件更改为:
if($("#shipping-country").length && ($("#shipping-country").val() != "US") &&(una=="ok")){
通过添加$("#shipping-country").length
,只有在元素存在的情况下才会继续。
您只能用jQuery提高变更事件,如果元素不存在,它将不会提高:
$(document).ready(function() {
var una = "ok";
$("#shipping-country").on("change", function(event){
if($(this).val() != "US" && una=="ok") {
iCheckout.insertForm();
$("#iCheckoutForm").submit();
}
}).change();
});