【发布时间】:2014-11-15 17:33:48
【问题描述】:
我有一个包含一些隐藏字段的表单,并且值是在页面加载时设置的。我有一个 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();
}
});
知道问题出在哪里吗?
【问题讨论】:
-
#contact_form 是什么?是“表单”ID吗?
-
部分在所有输入字段中重置值怎么样?隐藏的输入也是输入。