2017-02-10 24 views
0

ユーザーがサポートを受ける資格があるかどうかを確認するために郵便番号を入力する簡単な郵便番号検索をしようとしています。私は、彼らが一度それを入力してプッシュした結果、その時点で私はそれがキーアップとして持っていることが欲しいです。回答に応じて異なるメッセージを出力するJavascript

郵便番号であるため、スペースと大文字と小文字の両方で検索する必要があります。私は誰かが助けることを望んでいる。

あなたはここにコードを表示することができます。 https://jsfiddle.net/esdrxq0n/3/

HTML

<h1>Enter your postcode to see if you qualify</h1> 
<input type="text" id="postcode" value="" /> 
<div id="container" style="display:none;">Our services support your postcode</div> 
<div id="sorry" style="display:none;">Sorry we do not operate in your area. Signup to be notified when we do.</div> 

JAVA

$("#postcode").bind('keyup', function (e) { 
    if (e.which >= 97 && e.which <= 122) { 
     var newKey = e.which - 32; 
     // I have tried setting those 
     e.keyCode = newKey; 
     e.charCode = newKey; 
    } 

    $("#postcode").val(($("#postcode").val()).toUpperCase()); 
}); 
var validcode = ('SS94QL','SS9 4QL','SS143JA','SS14 3JA'); 
    $("#postcode").keyup(function() { 
     var code = $(this).val(); 
     if (code === validcode) { 
      $("#container").show(); 
      $("#sorry").hide(); 
     } else { 
      $("#container").hide(); 
      $("#sorry").show(); 
     } 
    }); 

答えて

2


、 は主にあなたが、アレイ内の事前定義されたコードを入れて、これを試してみてください型付き文字列を大文字に変換し、配列内に存在するかどうかを確認することができます

$("#postcode").bind('keyup', function (e) { 
 
    if (e.which >= 97 && e.which <= 122) { 
 
     var newKey = e.which - 32; 
 
     // I have tried setting those 
 
     e.keyCode = newKey; 
 
     e.charCode = newKey; 
 
    } 
 

 
    $("#postcode").val(($("#postcode").val()).toUpperCase()); 
 
}); 
 
var validcode = ['SS94QL','SS9 4QL','SS143JA','SS14 3JA']; 
 
    $("#postcode").keyup(function() { 
 
     var code = $(this).val().toUpperCase(); 
 
     if (validcode.indexOf(code) > -1) { 
 
      $("#container").show(); 
 
      $("#sorry").hide(); 
 
     } else { 
 
      $("#container").hide(); 
 
      $("#sorry").show(); 
 
     } 
 
    });
#postcode { 
 
    width:50%; 
 
    height:40px; 
 
    background-color:#ffffff; 
 
    margin:0px auto; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1>Enter your postcode to see if you qualify</h1> 
 
<input type="text" id="postcode" value="" /> 
 
<div id="container" style="display:none;">Our services support your postcode</div> 
 
<div id="sorry" style="display:none;">Sorry we do not operate in your area. Signup to be notified when we do.</div>

+0

ありがとうございました!あなたはキーアップではなくフォーム提出でそれを行うことができますか? – lbollu

+0

はい、必要に応じて特定のフォームを検証することができます。 –

+0

現時点では、キーストロークごとに.keyupを使用していますが、フォームが送信された後で答えが表示されるようにすることはできますか? – lbollu

0

あなたvalidCode配列でなければなりませんし、あなたが入力したコードが

var validcode = ['SS94QL','SS9 4QL','SS143JA','SS14 3JA']; 
    $("#postcode").keyup(function() { 
     var code = $(this).val(); 
     if (validcode.indexOf(code) > -1) { 
      $("#container").show(); 
      $("#sorry").hide(); 
     } else { 
      $("#container").hide(); 
      $("#sorry").show(); 
     } 
    }); 

JSFIDDLE

を配列に存在するかどう見つけること indexOf機能を使用することができます
関連する問題