私はjavascriptを始めたばかりで、これまでのところその背後にあるロジックを楽しんでいますが、Firefoxに問題があります. 基本的に、php関数内からJavaScriptを生成し、その非安全なピンコード認証スクリプトを生成しています。
したがって、私のphpは含まれている変数のピン番号を渡す呼び出しを作成します。ピンパッドでモーダルポップアップが呼び出され、ユーザーが4桁を入力すると、ピンパッドのonclick関数が数字をパスワードフィールドに追加し、4回のクリック後に非表示フィールドと比較しますピンパッド フォームで、一致する場合は、別の生成された関数を呼び出して成功アクションを完了します。一致するピンパッド フレームが赤にならず、バイパス ボタンが有効になっている場合、または再試行できます。
これは、Chrome、Opera、さらには IE でも正常に機能しますが、Firefox では、ピン フィールドと一致しない場合でも、4 桁の後に成功関数を呼び出します。
これはなぜですか?以下は関数ですが、私は初心者なので、より適切に記述できる可能性があることを覚えておいてください。
function add(text) {
var TheTextBox = document.pinform.elements['pin'];
var pincheckbox = document.pinform.elements['pincheck'];
var sidbox = document.pinform.elements['sid'];
TheTextBox.value = TheTextBox.value + text;
if (TheTextBox.value.length == 4) {
if (pinform.pin.value == pinform.pincheck.value) {
var pinn = document.getElementById('sid').value;
eval('pinpass' + pinn + '();');
} else {
document.getElementById("bypass").innerHTML = "Bypass";
document.getElementById("bypass").disabled = false;
document.getElementById("calc").style.backgroundColor = 'red';
TheTextBox.value = '';
return false;
}
}
}