2

配送方法選択ボックス (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>
4

1 に答える 1

0

@Rongsirは質問の主要部分に答えました-私は必要でした

 if ($('#cmbD_Method').val() == '0')
于 2013-03-08T21:25:15.600 に答える