2013-05-29 2 views
0

я имею скрытый DIV с идентификатором «Резом» внутри я эхом имени пользователя, если куки установлен другим мудрым этого эхом nouserОшибка при получении данных с помощью JQuery DIV

и у меня есть этот код в голове чтобы проверить, существует ли пользователь, чтобы открыть FancyBox купить продукт другой мудрый он будет предложено зарегистрировать

$("a.add_to_cart").click(function (e) { 
    e.preventDefault(); 

    var res = $("div#res").text(); 
    if (res == "nouser") { 
     noty({ 
      "text": "you must login first", 
      "layout": "center", 
      "type": "error", 
      "textAlign": "center", 
      "easing": "swing", 
      "animateOpen": { 
       "height": "toggle" 
      }, 
      "modal": "true", 
      "animateClose": { 
       "height": "toggle" 
      }, 
      "speed": "500", 
      "timeout": "2000", 
      "closable": true, 
      onClose: function() {}, 
      "closeOnSelfClick": true 
     }); 
    } else { 
     var pro_name = $(this).attr("pro_name"); 
     var pro_id = $(this).attr("id"); 
     var qst = "?pro=" + pro_id; 
     var ajax = false; 
     ajax = new XMLHttpRequest(); 
     ajax.open("get", "ajax/check_exists.php" + qst); 
     ajax.onreadystatechange = function() { 
      if (ajax.readyState == 4 && ajax.status == 200) { 
       var result = ajax.responseText; 
       if (result == 'in cart') { 

        noty({ 
         "text": "product already exists in the cart", 
         "layout": "center", 
         "type": "error", 
         "textAlign": "center", 
         "easing": "swing", 
         "animateOpen": { 
          "height": "toggle" 
         }, 
         "modal": "true", 
         "animateClose": { 
          "height": "toggle" 
         }, 
         "speed": "500", 
         "timeout": "2000", 
         "closable": true, 
         onClose: function() {}, 
         "closeOnSelfClick": true 
        }); 


       } else { 
        $("a.add_to_cart[id=" + pro_id + "]").unbind("click"); 
        var qst1 = "?pro=" + pro_id; 
        $("#proID").text(pro_id); 
        var ajax1 = false; 
        ajax1 = new XMLHttpRequest(); 
        ajax1.open("get", "ajax/get_submit.php" + qst1); 
        ajax1.onreadystatechange = function() { 
         if (ajax1.readyState == 4 && ajax1.status == 200) { 
          $("#addDiv").html(ajax1.responseText); 
         } 
        } 
        ajax1.send(null); 

        $("a[id=" + pro_id + "]").fancybox({ 
         'transitionIn': 'elastic', 
          'transitionOut': 'elastic' 
        }).click(); 
       } 
      } 
     } 
     ajax.send(null); 


    } 

}); 

, когда я использую поджигатель я считаю, что ДИВ содержит: nouser но FancyBox продолжает показывать вверх, что случилось с условием jquery if?

+0

убедитесь, что возвращенный 'результат'' находится в корзине' не 'в% 20cart' – mgraph

+0

первое условие не работает, div содержит nouser, но скрипт продолжается, поскольку нет . Состояние у всех –

+0

, что это очень простой пример, и он не работает тоже \t $ ("a.add_to_cart") нажмите (функция (е) { \t \t e.preventDefault(); \t \t \t вар Рез = $ ("div # res"). text(); \t \t \t предупреждение (res); \t \t \t если (Рез == "nouser") { \t \t \t \t оповещения ("нет пользователя") \t; \t \t \t} \t \t \t еще { \t \t \t \t оповещения ("пользователь существует"); \t \t \t \t} первое предупреждение времени: nouser затем непосредственно другое предупреждение: пользователь существует это получить правильное значение, но если оператор не работает и идет непосредственно к другому заявлению –

ответ

1

Есть ли дополнительные пробелы в вашем .text() значения? возможно, попробуйте обрезать значение до условия if(res.trim() == 'nouser')

+0

Я изменил его на: if (res.indexOf ('nouser')) { noty ({"text": "login first", "layout": "центр", "тип": "ошибка", "TextAlign": "центр", "ослабление": "качели", "animateOpen": { "высота": "тумблер"}, "модальный": "правда", "animateClose": { "высота": "переключение"}, "скорость": "500", "тайм-аут": "2000", "закрываемой": правда, OnClose: функция() {}, "closeOnSelfClick": истинный}); \t \t \t \t} и до сих пор получаю сообщение Войти даже я вошел он –

+0

не использовать IndexOf, он может возвращать 0, даже если nouser найден ... вместо того, чтобы попытаться 'если (res.trim() = = 'nouser') ' – dshu610

Смежные вопросы