首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Javascript作为php变量返回

使用Javascript作为php变量返回
EN

Stack Overflow用户
提问于 2012-11-26 03:00:42
回答 4查看 151关注 0票数 1

我不确定这是否可能,因为javascript是客户端,php是服务器端,但我所拥有的是一系列javascript函数,可以在表单中给出订单的实时总数。为了澄清这一点,当用户选择表单中的项目时,它会给出一个总数。在提交表单时,php将订单提交到数据库。我需要实现的是一种方式提交的总订单(由javascript创建)到数据库(通过php obv)。创建总数的javascript函数是:

代码语言:javascript
代码运行次数:0
运行
复制
function calculateTotal(){
     var Price = getDropPrice() + getverifyPrice() + getmiscPrice();
     var divobj = document.getElementById('totalPrice');
     divobj.style.display='block';
     divobj.innerHTML = "$"+Price;
}

生成该代码的html非常简单:

代码语言:javascript
代码运行次数:0
运行
复制
<div id="totalPrice"></div>

如果你需要我发布其他的functions(getDropPrice, getverifyPrice, getmiscPrice)让我知道,但基本上下拉是一个下拉,验证和杂项是单选按钮,我只是把他们的总数加在一起,得到上面的函数中的订单总数。我在SO和google上的搜索只告诉我如何将php变量放入javascript,而不是相反,所以我当然希望能做到这一点。谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-26 03:02:56

将您的合计放在隐藏输入字段中。然后,您的PHP脚本将能够在提交表单后读取并执行您想要的任何操作。

代码语言:javascript
代码运行次数:0
运行
复制
<input type="hidden" name="hiddenInput" />

如果您有更多的数据要通过这种方式发回,您可以添加更多的输入,或者坚持使用一种方式,但将所有数据打包成$_POST['hiddenInput']并以这种方式发送。收到后,对该字段执行json_decode()操作,无论发送了多少数据,都会将其取回。

我,然而,不会建议依赖于用户端提供的数据,而是返回选择了哪些产品并再次计算总数,否则您可能会发现自己有一天会以1美元的价格出售昂贵的商品:)

票数 2
EN

Stack Overflow用户

发布于 2012-11-26 03:02:49

您需要的是来自jQuery的$.ajax。这将在不重新加载页面的情况下发送POST请求。

假设您的按钮名为myButton,那么对于onClick()事件,您将调用该函数

代码语言:javascript
代码运行次数:0
运行
复制
$.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脚本。

代码语言:javascript
代码运行次数:0
运行
复制
$('#yourInputField').val();

其中yourInputField是输入字段的ID。这样,您就可以将此信息添加到脚本中。如果表单中有多个元素,则可能需要查看函数serialize()。原则上做同样的事情,只是将所有信息压缩到一个JSON字符串中。

票数 1
EN

Stack Overflow用户

发布于 2012-11-26 03:03:59

这就是作者将"input"元素的类型设置为"hidden"的原因。使用其中一个,并将元素的"value"属性设置为所需的总金额,然后将表单发送到数据库,您就可以像表单上的其他值一样访问隐藏的值。

HTML:

代码语言:javascript
代码运行次数:0
运行
复制
<input type="hidden" id="TotalPrice_Input" />

Javascript:

代码语言:javascript
代码运行次数:0
运行
复制
document.getElementById("TotalPrice_Input").value = Price;

希望能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13554357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档