Что здесь не так? Если оператор не работает в ajax, но работает в консоли?

Я уже давно это делаю. По какой-то причине мое поле пароля не поступает на мой файл editaccount.php через ajax. Пожалуйста, подтвердите правильность настройки Jquery, чтобы добавить проход к переменным для отправки, если pass не отключен. Я хотел бы подтвердить ВСЕ другие поля DO SEND.

Кажется, никто не знает об этом. Если вы проверяете это утверждение if с помощью 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); } }); }); 

Я думаю, вам нужно использовать .push (), если отключено, чтобы вы могли читать myData.pass

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

после этого вам понадобится отправить массив с помощью скрипта Ajax в PHP

проблема с этим кодом заключается в том, что вы в Интернете создаете переменную myData.pass, если isDisabled = false, но если объект никогда не создает переменную pass для объекта, здесь solucion:

 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); } }); });