Ошибка Javascript, похоже, только в IE8 - PullRequest
2 голосов
/ 31 января 2012

Следующий код продолжает выдавать ошибку в IE8 (только)

Несмотря на то, что все поля заполнены, предупреждение всегда появляется. Это известная проблема?

if(errors == 0) {
            return true;
        } else {
            alert("Please complete all (*) marked fields");
            return false;
        }

Полный код:

$(function(){
    $("#d2b").click(function(){

        $("#first_name").val($("#bill_fname").val());
        $("#last_name").val($("#bill_lname").val());
        $("#del_address_1").val($("#bill_address_1").val());
        $("#del_address_2").val($("#bill_address_2").val());
        $("#del_city").val($("#bill_city").val());
        $("#del_county").val($("#bill_county").val());
        $("#del_postcode").val($("#bill_postcode").val());

        return false;
    });

    $("#gpn").submit(function(){

        errors = 0;

        $("#gpn input[type='text']").each(function(){
            var nm = $(this).attr('name');

            if(nm == 'bill_address_2' || nm == 'del_address_2' || nm == 'groupon_barcode') {
                ;
            } else {

                if($(this).attr('name') == 'code') {
                    var gpncode = $(this).val();

                    if(gpncode.length != 10) {
                        errors++;
                        alert("Uh Oh");
                        return;
                    }

                    var str = gpncode;

                    var patt=/[0-9A-Za-z]{10}/g;

                    var result=patt.test(str);

                    if(!result) {
                        errors++;
                        alert("this should be longer");
                    }

                    return;
                }

                if($(this).val() == '') {
                    errors++;
                }
            }

        });

        if(errors == 0) {
            return true;
        } else {
            alert("Please complete all (*) marked fields");
            return false;
        }
    });
});

1 Ответ

1 голос
/ 31 января 2012

Код не показывает, errors фактически объявлен где-либо. Либо вы не публикуете полный код, либо пытаетесь использовать неявное объявление. Последнее не рекомендуется, попробуйте объявить переменную ошибки как:

var errors = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...