我对 PHP 很陌生,对 JQuery 也很陌生。
所以我写了一些 JQuery 来做一些计算,我在下面写了一些类似的东西:
//on change of a selectbox with the class item
$('.item').change(function() {
// set variable id as the id name of this id
var id = this.id;
// price variable is equal to the value of the element id 'hiddenprice'
price = $("#hiddenprice").val();
// number of items is the value of the select box
numberofitems = $(this).val();
// number of days is equal to a php variable I set on the page
numofdays = "<?php echo $length->days; ?>";
//totalprice is equal to the 'price' multiplied by 'numofdays'
totalprice = Number(price) * Number(numofdays);
//calculates final total by multiplying the 'totalprice' by 'numofitems'
finaltotal = Number(totalprice ) * Number(numofitems);
//updates the HTML with the new price
$('#'+id).html("€" + finaltotal.toFixed(2));
});
我正在尝试这个,虽然我得到了它的工作,但在阅读了一些内容后,我知道因为这个脚本位于我正在更新的页面的页脚中,如果用户想要恶意,它是不安全且易于操作的。
所以我想通过将值发布到 PHP 脚本然后返回值来进行服务器端的计算。
// POST values to PHP Script
$id = (posted select id);
$price = (#hiddenprice variable value);
$numofitems = (posted value of the select);
$numofdays = $length->days;
$totalprice = (int)$price * (int)$numofdays;
$finaltotal = (int)$totalprice * (int)numofitems;
//Then push $finaltotal and $id back to the user viewed page
$('#'+<?php echo $id; ?>).html("€" + <?php echo $finaltotal; ?>.toFixed(2));
我只是不确定如何在不刷新的情况下将它们推送到页面然后返回它们,也不刷新。
再次抱歉,如果这很简单,我已经查看了 JQuery 表单插件,我只是想知道是否有更适合我想做的解决方案。
提前致谢。