我已经研究了一段时间了。由于某种原因,我的密码字段没有通过ajax到达我的editaccount.php。请确认Jquery是否正确设置添加传递到变量发送,如果传递没有被禁用。我想确认所有其他字段是否发送。
似乎没有人知道这个问题的解决方法。如果在控制台中使用alert()检查这个If语句,那么它应该工作。但是传递永远不会被放入对象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。如果isDisabled = false则传递变量,否则对象永远不会为对象创建传递变量,这里是解决方案:
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);
}
});
});