在条件下通过Ajax发送值?

时间:2015-05-29 10:19:36

标签: php jquery ajax

所以我的目标是在未禁用密码字段的情况下发送数据思想ajax。否则在没有密码数据的情况下发送其他数据,这有意义吗?我不认为ajax是正确的,如果你看到php的任何改进,请随时告诉我。

代码:

django.core.exceptions.ImproperlyConfigured: 'django_mongodb_engine' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
u'base', u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
Error was: cannot import name BaseDatabaseFeatures

我的PHP如何处理这个问题:

$(document).on('submit', '#editaccount', function(event) {
    event.preventDefault();
    $('input[name=accountsearch]').val($('input[name=business]').val());
    $.ajax({
        url: 'php/editaccount.php',
        type: "POST",
        data: {
            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(),
            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(),
            accountid: $('input[name=accountid]').val(),

            if ($('input[name=pass]').disabled = false) {
                pass: $('input[name=pass]').val()
            },
        },
        success: function(data) {
            $('#customersearch').submit();
        }
    });
});

3 个答案:

答案 0 :(得分:2)

尝试先在别处定义数据,例如:

$(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(),
            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(),
            accountid: $('input[name=accountid]').val()
};

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

    $('input[name=accountsearch]').val($('input[name=business]').val());
    $.ajax({
        url: 'php/editaccount.php',
        type: "POST",
        data: myData,
        success: function(data) {
            $('#customersearch').submit();
        }
    });
});

答案 1 :(得分:0)

您之前应创建对象,使用input检查是否未禁用.prop('disabled') == false

//create object
var data = {
    contactname: $('input[name=contactname]').val(),
    ....
};

//Check if not disabled
//
if ($('input[name=pass]').prop('disabled') == false) {
    data.pass = $('input[name=pass]').val();
}

//pass dataa
$.ajax({
    data : data
});

答案 2 :(得分:0)

您无法在if内使用ajax

创建一个对象,然后根据条件添加该字段。

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

var 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(),
    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(),
    accountid: $('input[name=accountid]').val(),
}

if ($('input[name=pass]').prop('disabled') = false) {
    data.pass= $('input[name=pass]').val()
},

$.ajax({
    url: '...',
    data: myData
});