最近、通常の JavaScript プロンプトから jQuery プラグインの「Alertify」プロンプトに切り替えました。ただし、変数をプロンプトの応答として定義し、その後のアラートでその変数を使用すると、代わりに「[object Object]」が出力されます。グーグルとテストの数時間後、私はまだ答えを出していません.
これは私のコードです:
do {
var fullLoop = false;
var user = alertify.prompt("What is your name?", function (e, str) {
if (e) {
user.toUpperCase();
if (str.length === 0) {
alertify.alert("Please enter your name.");
fullLoop = true;
}
} else {
alertify.alert("Please enter your name.");
fullLoop = true;
}
}, "Name");
do {
var bestLoop = false;
var best = alertify.prompt("So " + user + ", what is your greatest ability, STRENGTH, SPEED, or SMARTS?", function (e, str) {
if (e) {
best.toUpperCase();
if (best === "STRENGTH" || best === "SPEED" || best === "SMARTS") {
var offset = options.indexOf(best);
if (offset != -1) {
options.splice(offset, 1);
}
} else {
alert("Please choose either STRENGTH, SPEED, or SMARTS as your greatest ability.");
bestLoop = true;
}
} else {
alertify.alert("Please choose either STRENGTH, SPEED, or SMARTS as your greatest ability.");
bestLoop = true;
}
}, "Greatest Ability");
} while (bestLoop);
alertify.alert("Great! So " + best + " is yor greatest ability.");
} while (fullLoop);
ここで発生しているエラーを確認できます。
文字列に関する私のif
発言が無視されていることにも気付きました。関連があると思いますが、それは何ですか? バグは見つかっていませんが、Alertify の使い方が間違っているのでしょうか?