AJAX调用 - 输入变量突然不再提交了

时间:2017-05-25 03:30:41

标签: javascript php jquery ajax forms

我通过AJAX生成模态表单内容,并允许用户在将修改后的数据提交到数据库之前更新多个输入/选择字段。这段代码可以在我的网站上的许多表单中正常工作,但从今天开始,一个特定的输入字段不再通过AJAX提交,而同一表单中的所有其他输入字段都可以正常工作。

输入字段dataHolidex包含一个5位数的字母代码(没有数字,没有符号,只是普通的拉丁字符)我需要选择正确的数据库,但似乎输入值在AJAX之前没有被提取呼叫。 Chrome Debug表示提交的$_POST['Holidex']为空,即使正确填充了相应的输入字段,表明将输入字段值移交给AJAX $ _POST调用时出现问题。

表单内容(输入字段有值)

  <div class=\"col-md-4\">
    <!-- Holidex -->
    <label>Holidex:</label>
    <div class=\"input-group\">
        <span class=\"input-group-addon\"><i class=\"fa fa-database\"></i></span>
        <input type=\"text\" class=\"form-control\" value=\"$holidex\" id=\"dataHolidex\" name=\"dataHolidex\" size=\"\" />
    </div>
    <!-- /.holidex code -->
  </div>

AJAX调用使用新的表单值

更新数据库
var holidex_code = document.getElementById("dataHolidex").value;

$.ajax({
    url: "../../plugins/MySQL/ajax_action.php",
    type: "POST",
    async: true, 
    data: {
        action:"update_email",
        Holidex: holidex_code,
        CRS:$("#dataCRS").val(),
        Arrival:$("#dataArr").val(),
        Departure:$("#dataDep").val(),
        Room:$("#dataRoom").val(),
        GuestNat:$("#dataNat").val(),
        GuestTitle:$("#dataGuestTitle").val(),
        GuestFN:$("#dataGuestFN").val(),
        GuestLN:$("#dataGuestLN").val(),
        MBR_Lvl:$("#dataMBRlvl").val(),
        Email:$("#dataEmail").val()
    }, //your form data to post goes here as a json object
    dataType: "html",

    success: function(data) {
        $('#poststay_output').html(data);
        drawVisualization();   
    },

    error: function(data) {
    console.log(err);
    }
});

代码是正确的,并且在整个网站上运行良好,我没有对服务器进行任何更改,也不知道任何升级,字面上没有改变。任何人都知道这可能是什么?

编辑: 删除了jQuery代码以获取Holidex变量并将其替换为纯JavaScript。结果是一样的,交换时变量是空的......

0 个答案:

没有答案