2015-06-07 46 views
1

我已經有一段時間了。出於某種原因,我的密碼字段沒有通過ajax到達我的editaccount.php。請確認Jquery已正確設置,以便在傳遞未被禁用時將傳遞添加到要發送的變量。我想確認所有其他領域發送。這裏有什麼問題?如果語句不在ajax中工作,但在控制檯中工作?

似乎沒有人知道解決這個問題。如果在控制檯中使用alert()檢查這個語句,那麼它應該可以工作。但傳遞永遠不會放入對象myData中。爲什麼?我怎樣才能解決這個問題?我知道密碼選擇是正確的。如果我刪除if語句,那麼傳球就會傳出。

JQuery的:

$(document).on('submit', '#editaccount', function(event) { 
event.preventDefault(); 

myData = { 
     contactname: $('input[name=contactname]').val(), 
     business: $('input[name=business]').val(), 
     email: $('input[name=email]').val(), 
     code: $('input[name=code]').val(), 
     phone: $('input[name=phone]').val(), 
     priceband: $('input[name=priceband]').val(), 
     address: $('input[name=address]').val(), 
     active: $('input[name=active]').val(), 
     mon: $('input[name=mon]').val(), 
     tue: $('input[name=tue]').val(), 
     wed: $('input[name=wed]').val(), 
     thu: $('input[name=thu]').val(), 
     fri: $('input[name=fri]').val(), 
     sat: $('input[name=sat]').val(), 
     sund: $('input[name=sund]').val(), 
     adminname: $('input[name=adminname]').val(), 
     accountid: $('input[name=accountid]').val(), 
     isadmin: $('input[name=isadmin]').val(), 

}; 

var isDisabled = $('input[name=pass]').is(':disabled'); 

if (isDisabled == false) { 
     myData.pass = $('input[name=pass]').val(); 
} 

$.ajax({ 
    url: 'php/editaccount.php', 
    type: "POST", 
    data: myData, 
    success: function(data) { 

     if ($('input[name=isadmin]').val() == 1) { 
      $('input[name=accountsearch]').val($('input[name=email]').val()); 
      $('input[name=accountsearch]').submit(); 
     } else { 
      $('input[name=accountsearch]').val($('input[name=business]').val()); 
      $('input[name=accountsearch]').submit(); 
     } 

     alert(data); 
    } 
}); 
}); 
+0

當您調試這一點,是'myData.pass'被設置?它是否包含在瀏覽器發送的HTTP請求中?另外,這應該是做什麼:'$ _POST ['name = pass']' – David

+0

我該如何檢查? – Elevant

+0

瀏覽器調試工具。 Firebug,Chrome開發人員工具等。它們具有可用於在代碼執行時逐步執行的調試程序,並且它們具有監視HTTP請求的工具,因此您可以檢查這些請求的內容。 – David

回答

0

我認爲你需要使用.push()如果禁用,因此你可以閱讀myData.pass

var isDisabled = $('input[name=pass]').is(':disabled'); 

if (isDisabled == false) { 
     myData.push('pass : '+$('input[name=pass]').val()); 
     alert(myData.pass); 
} 

你需要Send array with Ajax to PHP script

0

的這段代碼的問題在於,如果isDisabled = false,則在線創建myData.pass變量,否則對象不會爲對象創建pass變量,這裏是解決方案:

var isDisabled = $('input[name=pass]').is(':disabled'); 

if (isDisabled == false) { 
    myData.pass = $('input[name=pass]').val(); 
}eles{ 
//here you que asign the value of pass to empty o to null 
myData.pass = ""; 
} 

這裏是完整的代碼:

$(document).on('submit', '#editaccount', function(event) { 
    event.preventDefault(); 

    myData = { 
      contactname: $('input[name=contactname]').val(), 
      business: $('input[name=business]').val(), 
      email: $('input[name=email]').val(), 
      code: $('input[name=code]').val(), 
      phone: $('input[name=phone]').val(), 
      priceband: $('input[name=priceband]').val(), 
      address: $('input[name=address]').val(), 
      active: $('input[name=active]').val(), 
      mon: $('input[name=mon]').val(), 
      tue: $('input[name=tue]').val(), 
      wed: $('input[name=wed]').val(), 
      thu: $('input[name=thu]').val(), 
      fri: $('input[name=fri]').val(), 
      sat: $('input[name=sat]').val(), 
      sund: $('input[name=sund]').val(), 
      adminname: $('input[name=adminname]').val(), 
      accountid: $('input[name=accountid]').val(), 
      isadmin: $('input[name=isadmin]').val(), 

    }; 

    var isDisabled = $('input[name=pass]').is(':disabled'); 

if (isDisabled == false) { 
    myData.pass = $('input[name=pass]').val(); 
}eles{ 
//here you can asign the value of pass to empty o to null 
myData.pass = ""; 
} 

    $.ajax({ 
     url: 'php/editaccount.php', 
     type: "POST", 
     data: myData, 
     success: function(data) { 

      if ($('input[name=isadmin]').val() == 1) { 
       $('input[name=accountsearch]').val($('input[name=email]').val()); 
       $('input[name=accountsearch]').submit(); 
      } else { 
       $('input[name=accountsearch]').val($('input[name=business]').val()); 
       $('input[name=accountsearch]').submit(); 
      } 

      alert(data); 
     } 
    }); 
    }); 
相關問題