0

次の検証コードがあります。これは、最初のテキスト入力またはメニューが空のままの場合、フォーム内のすべての問題領域を適切に強調表示します。

ただし、最初のテキスト入力を入力し、最初の選択ボックスから選択すると、この検証は誤って合格します。

空のテキスト フィールドを検索してメニューを選択するための jquery を含めましたが、すべてを貼り付ける必要がある場合はお知らせください。

// create error flag
var error = 0;

// check required text fields for empty values, add class 'problem' to cells with inputs that have problems
if (!$('#register-form .required input').val()) {
    $('.required input:text[value=""]').parent().addClass("problem");
    error++;
    console.log('errors: ' + error + '; required text input missing a value.')
}

// check required select menus for default selections, add class 'problem' to cells with select menus that have problems
if (!$('#register-form .required select option:selected').val()) {
    $('.required select option:selected[value=""]').parent().parent().addClass("problem");
    error++;
    console.log('errors: ' + error + '; required select box missing a value.')
}

ただし、最初のテキスト入力または必要なメニューの選択のみを満たした場合、この検証は失敗します。

すべてのテキスト入力とクラス .required を持つセル内のすべてをチェックするには、明らかにこの検証が必要です

4

1 に答える 1

0
$('#register-form .required').each(function() {

  var $input = $('input[type="text"]', this),
      $select = $('select', this);

  if(!$.trim($input.val())) {
     $input.parent().addClass("problem");
      error++;
      console.log('errors: ' + error + '; required text input missing a value.')

  }

  if(!$select.val()) {
      $select.parent().parent().addClass("problem");
      error++;
      console.log('errors: ' + error + '; required select box missing a value.'
  }

});
于 2012-04-30T19:09:49.243 に答える