我有两个禁用的输入字段(城市和州),这些字段在表单中填写第三个字段(邮政编码)时自动计算,相关部分为:
<form method="post" name="myemailform" action="submit.php">
<input type="text" name="home_address_city" id="home_address_city" disabled>
<input type="text" name="home_address_state" id="home_address_state" disabled>
<input type="submit" name="Submit" id="submit_button">
</form>
然后我获取表单数据并通过ajax将其提交给通过电子邮件发送的PHP脚本:
$(function(){
$('form').on('submit', function(e){
e.preventDefault();
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize()
});
});
});
PHP然后按如下方式抓取所有内容:
extract($_POST, EXTR_PREFIX_SAME, "extr");
应该按照以下方式在电子邮件正文中输出:
$email_body = "City:\t$home_address_city\n"."State:\t$home_address_state\n";
这些disabled
字段之前已手动填写,并且它们在电子邮件中发送时没有任何问题。由于禁用它们,它们不会在电子邮件中发送,但其他一切都在工作。如果我删除disabled
或将其替换为readonly
,则会发送这些值。 (使用readonly
代替被考虑和拒绝,因为它允许您专注于字段并选择文本,而客户端根本不希望用户与字段进行交互。)
那么如何将disabled
输入字段的值传递给PHP脚本?