-2

我刚刚进入 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;
        }
    }
}
4

1 回答 1

0

像往常一样通过反复试验找到答案,哈哈。我需要添加文档。在 pinform.pincheck.value 和 pinform.pin.value 前面

感谢您提供的帮助。缺口

if (TheTextBox.value.length == 4) {
    if (doucment.pinform.pin.value == document.pinform.pincheck.value) {
        var pinn = document.getElementById('sid').value;
        eval('pinpass' + pinn + '();');
    } else {
于 2013-08-11T00:16:38.787 回答