Javascript AJAX调用-输入变量突然不再提交
我通过AJAX生成模式表单内容,并允许用户在将修改后的数据提交到数据库之前更新几个输入/选择字段。这段代码在我的网站上的许多表单上都可以很好地工作,但是从今天起,一个特定的输入字段不再通过AJAX提交,而同一表单中的所有其他输入字段都可以正常工作 输入字段Javascript AJAX调用-输入变量突然不再提交,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,我通过AJAX生成模式表单内容,并允许用户在将修改后的数据提交到数据库之前更新几个输入/选择字段。这段代码在我的网站上的许多表单上都可以很好地工作,但是从今天起,一个特定的输入字段不再通过AJAX提交,而同一表单中的所有其他输入字段都可以正常工作 输入字段dataHolidex包含选择正确数据库所需的5位字母代码(没有数字,没有符号,只有纯拉丁字符),但似乎在AJAX调用之前没有提取输入值。Chrome Debug表示提交的$\u POST['Holidex']为空,即使相应的输入字段已正确填充
dataHolidex
包含选择正确数据库所需的5位字母代码(没有数字,没有符号,只有纯拉丁字符),但似乎在AJAX调用之前没有提取输入值。Chrome Debug表示提交的$\u POST['Holidex']
为空,即使相应的输入字段已正确填充,这表明将输入字段值移交给AJAX$\u POST调用时存在问题
表单内容(输入字段有值)
代码是正确的,在整个站点上运行良好,我没有对服务器做任何更改,也没有意识到任何升级,实际上没有任何更改。有人知道这可能是什么吗
编辑:
删除了用于获取
Holidex
变量的jQuery代码,并将其替换为纯JavaScript。结果相同,移交时变量为空…上述标记是js模板还是html?通过PHP生成
字段,因此为html。AJAX调用是通过特定PHP/HTML站点上的Javascript完成的。在发送AJAX调用之前,是否可以添加控制台语句并查看$(“#dataHolidex”).val()的值,然后触发$.AJAX调用。。。如何?$(“#dataHolidex”).val()
具有正确的样本值ABCDE
。问题是变量没有正确地传递给AJAX调用,因此当接收到调用时,它显示为空
。通过点击模式面板上的更新按钮触发呼叫。
<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>
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);
}
});