我刚刚进入 javascript 并且到目前为止享受它背后的逻辑,但我遇到了 Firefox 的问题。基本上我从一个 php 函数及其一个非安全的 pin 码身份验证脚本中生成我的 javascript。
因此,我的 php 创建了一个调用,该调用传递了包含的变量 pin 号,当调用带有 pinpad 的模式弹出窗口并且用户输入 4 位数字时,pinpad onclick 函数将数字添加到密码字段中,并在 4 次单击后将其与隐藏字段进行比较在 pinpad 表单上,如果匹配,则调用另一个生成的函数来完成成功操作,如果没有匹配 pinpad 框架变为红色并且启用了旁路按钮,或者他们可以重试。
这一切在 Chrome、Opera 甚至 IE 中都可以正常工作,但在 Firefox 中,即使它们与 pin 字段不匹配,它也会在 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;
}
}
}