2

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

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

这是通过使用此脚本完成的

<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>

有任何想法吗?

4

1 回答 1

0

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

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

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

于 2012-08-21T01:44:58.743 回答