我正在通过将“请选择...”选项添加到交付方式选择框 (cmbD_method) 来进行一些基本的表单验证,然后确保用户选择了交付方式。我无法修改源代码,因此我的代码将验证添加到名为 validateUserDataFields() 的现有函数中。
但是,无论选择哪个选项,都会出现警告消息并且控制台显示“Uncaught TypeError: Cannot read property '0' of undefined”
我错过了什么?我的代码如下:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type='text/javascript'>
var delMeth = new Option('Please Select A Delivery Method', '0');
$(delMeth).html("Please Select A Delivery Method");
$("#cmbD_Method").append(delMeth);
$('#cmbD_Method').val(0);
$('#cmbD_Method').width($('#cmbD_Method').width() + 40);
var validate = validateUserDataFields;
validateUserDataFields = function () {
if ($('#cmbD_Method').val(0)) {
alert('Please Select A Delivery Method');
}
else {
validate(); // call the original function
}
};
</script>