我有一个包含一些隐藏字段的表单,并且在页面加载时设置值。我有一个Ajax脚本,单击按钮提交表单。当我单击按钮时,它会提交表单,并在一些数据库检查后,电子邮件将发送到客户端。我收到一条消息,告知提交成功,隐藏字段的值在第一次提交之前显示如下:
<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();
}
});
知道问题是什么吗?
答案 0 :(得分:1)
我认为代码中的$('#contact_form input').val('');
只是重置包括隐藏字段在内的所有输入的值。试试没有这个。