私は入力ボックスに質問を入力するマジック8ボールアプリを作成しています。送信ボタンを押すと、見出しのデフォルトのhtmlテキストが回答に置き換えられます。同じ質問が連続して2回尋ねられた場合は、新しい回答を与える代わりに警告メッセージを表示したい。私はjQueryが新しく、最後に入力した値を格納する方法を理解できません。私は本当にいくつかの入力を感謝します。前もって感謝します。jQuery - ユーザーがテキスト入力で同じ値を2回続けて入力しないようにする
$(document).ready(function(){
var questionValue;
$("#submit").click(function() {
//Make sure user doesn't ask same question twice in a row
if (questionValue != $("#submit").val()) {
//List of possible responses
var response = ["Ask again later…", "Yes", "No", "It appears so", "Reply is hazy, please try again", "Yes, definitely", "What is it you really want to know?", "Outlook is good", "My sources say no", "Signs point to yes", "Don't count on it", "Cannot predict now", "As I see it, yes", "Better not tell you now", "Concentrate and ask again"];
//generate a random number between 0-14
var randomNumber = Math.floor(Math.random() * 15);
//Present random answer
$("#eightBallAnswer").text(response[randomNumber]);
}
else {
alert("Ask a different question");
}
var questionValue = $("#submit").val();
});
});
ほんの少しのクリーンアップの方法によって: 'VARの乱数= Math.floor(Math.random()* response.length);';文字列の長さをハードコードしないでください。また、 'click()'関数の前に 'var response = [...]'を定義してください。それ以外の場合、毎回同じ配列を再定義しています。 – Manngo