我不确定这是否可能,因为javascript是客户端,php是服务器端,但我所拥有的是一系列javascript函数,可以在表单中给出订单的实时总数。为了澄清这一点,当用户选择表单中的项目时,它会给出一个总数。在提交表单时,php将订单提交到数据库。我需要实现的是一种方式提交的总订单(由javascript创建)到数据库(通过php obv)。创建总数的javascript函数是:
function calculateTotal(){
var Price = getDropPrice() + getverifyPrice() + getmiscPrice();
var divobj = document.getElementById('totalPrice');
divobj.style.display='block';
divobj.innerHTML = "$"+Price;
}
生成该代码的html非常简单:
<div id="totalPrice"></div>
如果你需要我发布其他的functions(getDropPrice, getverifyPrice, getmiscPrice)
让我知道,但基本上下拉是一个下拉,验证和杂项是单选按钮,我只是把他们的总数加在一起,得到上面的函数中的订单总数。我在SO和google上的搜索只告诉我如何将php变量放入javascript,而不是相反,所以我当然希望能做到这一点。谢谢!
发布于 2012-11-26 03:02:56
将您的合计放在隐藏输入字段中。然后,您的PHP脚本将能够在提交表单后读取并执行您想要的任何操作。
<input type="hidden" name="hiddenInput" />
如果您有更多的数据要通过这种方式发回,您可以添加更多的输入,或者坚持使用一种方式,但将所有数据打包成$_POST['hiddenInput']
并以这种方式发送。收到后,对该字段执行json_decode()
操作,无论发送了多少数据,都会将其取回。
我,然而,不会建议依赖于用户端提供的数据,而是返回选择了哪些产品并再次计算总数,否则您可能会发现自己有一天会以1美元的价格出售昂贵的商品:)
发布于 2012-11-26 03:02:49
您需要的是来自jQuery的$.ajax。这将在不重新加载页面的情况下发送POST请求。
假设您的按钮名为myButton,那么对于onClick()事件,您将调用该函数
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).success(function( msg ) {
alert( "Data Saved: " + msg );
});
在你的some.php中,你只需要使用$_POST‘’name‘和$_POST’‘location’来检索信息。
假设您有一个输入字段。您也可以通过jQuery从这样的字段中检索信息。然后,您可以通过ajax将输入字段中的信息发送到php脚本。
$('#yourInputField').val();
其中yourInputField是输入字段的ID。这样,您就可以将此信息添加到脚本中。如果表单中有多个元素,则可能需要查看函数serialize()。原则上做同样的事情,只是将所有信息压缩到一个JSON字符串中。
发布于 2012-11-26 03:03:59
这就是作者将"input"
元素的类型设置为"hidden"
的原因。使用其中一个,并将元素的"value"
属性设置为所需的总金额,然后将表单发送到数据库,您就可以像表单上的其他值一样访问隐藏的值。
HTML:
<input type="hidden" id="TotalPrice_Input" />
Javascript:
document.getElementById("TotalPrice_Input").value = Price;
希望能有所帮助。
https://stackoverflow.com/questions/13554357
复制相似问题