Jquery/Ajax表单在第二次单击时丢失隐藏字段值
我有一个表单,它有一些隐藏字段,值是在页面加载时设置的。我有一个Ajax脚本,它在单击按钮时提交表单。当我点击按钮时,它会提交表单,在一些数据库检查之后,一封电子邮件会发送到客户端。我收到一条消息,告诉我提交成功,在第一次提交之前,隐藏字段的值显示如下:Jquery/Ajax表单在第二次单击时丢失隐藏字段值,jquery,ajax,forms,submit,Jquery,Ajax,Forms,Submit,我有一个表单,它有一些隐藏字段,值是在页面加载时设置的。我有一个Ajax脚本,它在单击按钮时提交表单。当我点击按钮时,它会提交表单,在一些数据库检查之后,一封电子邮件会发送到客户端。我收到一条消息,告诉我提交成功,在第一次提交之前,隐藏字段的值显示如下: <input type="hidden" name="propertyID" id="propertyID" value="1" /> <input type="hidden" name="uyeID" id="uyeID"
<input type="hidden" name="propertyID" id="propertyID" value="1" />
<input type="hidden" name="uyeID" id="uyeID" value="10" />
<input type="hidden" name="referrerfile" id="referrerfile" value="Property For Sale" />
提交后,浏览器调试器上的值如下所示:
<input type="hidden" name="propertyID" id="propertyID" value="">
<input type="hidden" name="uyeID" id="uyeID" value="">
<input type="hidden" name="referrerfile" id="referrerfile" value="">
我不明白可能的原因是什么,但它无法进行数据库检查和发送电子邮件,因为这些字段没有价值
以下是单击按钮时我的Ajax脚本:
if(proceed)
{
//data to be sent to server
post_data = {'userName':user_name, 'userEmail':user_email, 'userPhone':user_phone, 'userMessage':user_message, 'imageverification':imageverification, 'propertyID':propertyID, 'uyeID':uyeID, 'referrerfile':referrerfile, 'departuredate':departuredate, 'arrivaldate':arrivaldate };
//Ajax post data to server
$.post('owner_contact.php', post_data, function(response){
//load json data from server and output message
if(response.type == 'error')
{
output = '<div class="error">'+response.text+'</div>';
refresh_image();
}
else
{
output = '<div class="success">'+response.text+'</div>';
//reset values in all input fields
$('#contact_form input').val('');
$('#contact_form textarea').val('');
}
$("#result5").hide().html(output).slideDown();
}, 'json');
} else {
//$("#result").slideDown();
refresh_image();
}
});
if(继续)
{
//要发送到服务器的数据
post_data={'userName':user_name,'userEmail':user_email,'userPhone':user_phone,'userMessage':user_message,'imageverification':imageverification,'propertyID':propertyID,'uyeID':uyeID,'referrerfile,'departuredate':departuredate,'arrivaldate':arrivaldate};
//Ajax将数据发布到服务器
$.post('owner\u contact.php',post\u数据,函数(响应){
//从服务器加载json数据并输出消息
如果(response.type==“error”)
{
输出=''+响应。文本+'';
刷新图像();
}
其他的
{
输出=''+响应。文本+'';
//重置所有输入字段中的值
$('#联系形式输入').val('');
$(“#联系形式文本区域”).val(“”);
}
$(“#result5”).hide().html(输出).slideDown();
}“json”);
}否则{
//$(“#结果”).slideDown();
刷新图像();
}
});
你知道问题出在哪里吗?我想
$('contact#u form input').val('')代码中的code>只是重置所有输入(包括隐藏字段)的值。试着不用这个。什么是联系方式?是“表单”id吗?所有输入字段中的零件重置值如何?隐藏的输入也是输入。是的,我的错。我用它来清理输入的表单值。非常感谢