PHP邮件中的动态文本框

时间:2012-06-18 13:28:23

标签: php javascript radio-button html-email

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

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

这是通过使用此脚本

完成的
<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>

任何想法?

1 个答案:

答案 0 :(得分:0)

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

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

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