在woocommerce结帐页面上,如果表单中有任何错误,则在下订单时会显示错误。
我希望页面向上滚动并关注错误,但页面不会向上滚动。
https://dev.clipcertification.com/checkout/
如果未填写付款详细信息,则会出现错误,页面也会滚动以关注付款错误,但不会关注一般表单错误。
我在控制台中检查过,错误即将发生'未捕获TypeError:无法读取未定义'的属性'设置',这是由于在birthdate字段上使用了验证。
我正在使用以下代码进行Birthdate字段验证:
jQuery(document).ready(function(){
jQuery.validator.addMethod(
"dateUS",
function(value, element) {
var check = false;
var re = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
if( re.test(value)){
var adata = value.split('-');
var dd = parseInt(adata[0],10); // was gg (giorno / day)
var mm = parseInt(adata[1],10); // was mm (mese / month)
var yyyy = parseInt(adata[2],10); // was aaaa (anno / year)
var xdata = new Date(yyyy,mm-1,dd);
if ( ( xdata.getFullYear() == yyyy ) && ( xdata.getMonth () == mm - 1 ) && ( xdata.getDate() == dd ) )
check = true;
else
check = false;
}
else
check = false;
return this.optional(element) || check;
},
"Invalid Date (dd-mm-yyyy)"
);
// attach Validate plugin to form
jQuery("#custom-checkout").validate();
});
和jquery.validate.js文件。
我是否在页眉或页脚中使用上述代码并不重要。 此外,即使日期验证为假,表单也会被提交