PHP 邮件中的动态文本框


Dynamic Text Box in PHP Mail

我有一个非常复杂的订单,您可以在其中通过单选按钮订购产品。

我还有一个文本框,价格在页面上实时计算,根据您选择的内容进行

这是使用此脚本完成的

<script type="text/javascript">
 jQuery(document).ready(function($){
var frm = document.forms.myForm;
frm.onchange = function(e) {
    var tot = 0;
    for( var i = 0, l = frm.elements.length; i < l; i++ ) {
        if( frm.elements[i].checked ) {
            tot += parseFloat( frm.elements[i].getAttribute('data-price') );
        }  
    }
    document.getElementById('total').value = ( tot.toFixed(2) );
}
})
    </script>

盒子在这里

<input id="total" name="total2" class="total-box" type="text">

但是由于某种原因,信息没有添加到发送的邮件中,其他所有内容都发送正常。

在我的邮件脚本中,我有

$total2 = $_REQUEST['total2'] ;

<tr><td style="border-bottom:1px solid #7e7e7e;">Price</td><td style="border-bottom:1px solid #7e7e7e;">'.$total2.' </td></tr>

有什么想法吗?

如果使用 javascript,则不会为服务器 $_POST 数据设置输入字段的值。所以你正在寻找某种序列化(即javascript,它接受所有输入值并通过$_POST发送它们,你可以手动完成,但它很乏味)

如果你想坚持纯javascript:http://code.google.com/p/form-serialize/可能会有所帮助。否则查看一些框架和 serialize(),大多数框架都实现了它,因为它经常使用。

我的建议是在 PHP aswel 中重新创建您的价格生成脚本,因此您只需提交已按下的表单按钮(您不需要序列化),然后只需在后端从中获取价格。也安全多了!