2

サイト ( https://www.postcodeanywhere.co.uk ) で郵便番号検索サービスを使用しています。このスクリプトは、郵便番号、住所などを受け入れる入力フィールドを提供し、適切な結果を表示します。正しい住所を選択すると、残りの入力フィールド (番地、番地など) が自動的に入力されます。

正しく入力されている場合、これらのフィールドを検証したい (右側にアイコンを表示する) が、問題は値の変更が検出されないことです。入力された入力フィールド内をもう一度クリックすると、検証が開始されます。

.change()、.bind()、keyup() などのイベントを試しましたが、動作しません。他のアイデアはありますか?

更新: コードは次のとおりです。

$('#postcode').bind('blur', function(){
   validatePostCode();
});

function validatePostCode() {
  var postCode = $('#postcode').val();

  if( !alphaNumericRegex.test(postCode) ) {
    $('#postCodeWrap').find('.errorMessage').html('Must contain six characters.);
    $('#postCodeWrap').find('.validationSuccess').hide();
    $('#postcode').css('background', 'rgb(242, 222, 222)');
    $('#postcode').addClass('errorVisible');
    return false;
  } else {
    $('#postCodeWrap').find('.validationSuccess').show();
    $('#postCodeWrap').find('.errorMessage').html('');
    $('#postcode').css('background', '#FFFFFF');
    $('#postcode').removeClass('errorVisible');
    return true;
  }
}
4

1 に答える 1

4

値が JS を使用してプログラムで変更された場合、イベントはトリガーされません。最初のフィールドが変更されたときに、自分でイベントをトリガーできます。

$('#first-field').on('change', function() {
    $('.the_rest_of_my_fields').trigger('change');
});
于 2013-04-02T17:06:49.713 に答える