JQuery одна функция для отправки всех форм и извлечения данных - PullRequest
2 голосов
/ 13 октября 2011

Таким образом, моя цель состояла в том, чтобы в моем коде jQuery была функция, которая позволяла мне делать операторы case, которые затем позволяли мне делать то, что мне нужно, с каждой формой, без необходимости повторного ввода всей функции post.

ОБНОВЛЕНИЕ Мое исправление находится в самом низу этого вопроса

, например

    function fetch(e,formstring)
{

    $.ajax({
      type: 'POST',
      url: 'system/classes/core.php',
      data: formstring,
      dataType: 'json',
      contentType: "application/x-www-form-urlencoded;charset=utf-8",
      success: function(data){
          $.each(data, function(i, obj) {

               switch (e) { 
                 case 1:
                  $.each(obj, function(key, val) {
                     alert(key+" - "+val);
                  });
                 break;
                 case 2:
                    alert("sucker");
                 break;
                 case 3:
                 //LoginSript

                    $('#rightheader').html(obj.code);
                 break;
                 case 4:
                 //WelcomePage/Signup
                    $('#window').html(obj.code);
                 break;
               }
         });
      },
      error: function(data){
      $.each(data,function(i,myinfo){
            alert(i);       
          });
      }
    });
    return false;
}

Хотя получение данных, похоже, работает, отправка форм, похоже, не работает.

$(function() {

    $("form#login").submit(function(){
        shownotify(1,"Please hold we are login you in.");
        fetch(1,$(this).serialize());   
    });
});

Я думал, что все делал правильно.

также, чтобы вы могли видеть здесь, также есть функция show notify.

    function shownotify(e,msg)
{
    if(e==1){$('#notify').show();};
    if(e==2){$('#notify').hide();};

    $('#notifyheader').html("Please Hold");
    $('#notifytext').html(msg); 
}

Мне интересно, есть ли у меня ошибка, или я делаю это неправильно?

1 Ответ

0 голосов
/ 14 октября 2011

Я исправил ошибку, установив функцию setTimeout вокруг $ (function () {})

setTimeout(function(){
$(function() {

    $("form#login").submit(function(){
        shownotify(1,"Please hold we are login you in.");
        fetch(2,$(this).serialize());   
    });
});
},1000);
...