JQuery очищает данные $ .post - PullRequest
0 голосов
/ 07 мая 2011

Я строю форму из нескольких частей.Каждая часть выполняет новый скрипт.Когда каждый скрипт выполняется, он проверит необходимые данные.Если указанные данные отсутствуют, возвращается строка «false»

, часть 1 не работает правильно (вызывает highlight()), но часть 2 просто выдает «false», минуя функцию highlight, как если бы data !== falseЯ попытался очистить данные, но это не похоже на работу.Есть идеи?

Спасибо

    $('.submit').live('click', function(){
    var bclick = $(this);   
    var frm = "../../scripts/retain-" + $(this).attr('rel') + ".php";
    var fields = $('#retain-form').serialize();

    $.post(frm, fields, function(data){
        if(data == 'false'){
            highlight();
            data = '';
        }else{
            var nForm = $(bclick).attr('rel');
            nForm = parseInt(nForm[4]) + 1;
            $(bclick).attr('rel', "form" + nForm);
            $('#retain-steps').html(data);
        }
    });
})

Ответы [ 2 ]

0 голосов
/ 07 мая 2011

Мне не совсем понятно, что вы пытаетесь сделать и что здесь не так, но нужно быть осторожным, используя приведение типов == сравнение вокруг "ложных" значений JavaScript .Начиная с "" == false, вы сталкиваетесь с некоторыми неинтуитивными ошибками вокруг этого.Попробуйте вместо этого использовать строгое сравнение === в ваших условных выражениях.

0 голосов
/ 07 мая 2011

Ваша highlight функция должна получить bclick параметр

function highlight(bclick){
 ...
}

и вызываться так:

highlight(bclick);

Вы должны передать параметр bclick своему highlight функция, поэтому он может знать, какую часть выделить.

Cheers

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