【问题标题】:Calling PHP function with value from HTML Dropdown Menu使用 HTML 下拉菜单中的值调用 PHP 函数
【发布时间】:2012-12-27 02:54:54
【问题描述】:

我正在创建一个包含购物车功能的网站,但遇到了将变量从 HTML/Javascript 来回传递到 PHP 的问题。我知道这些语言根本不同,希望有人能提供一些指导。我已经看到了几个关于类似主题的问题,但不幸的是还没有找到适合我情况的解决方案。

我在 php 中创建了一个多维产品数组,并希望从下拉菜单中捕获值以调用一个函数,其中下拉菜单的值对应于产品数组中的一行。我的产品列表出现在 HTML 表格中。我已经尝试过 $_GET 和 $_POST,但没有任何运气。另外,我想避免添加提交按钮,因为 print_wp_cart_button_for_product 函数会输出添加到购物车按钮。 print_wp_cart_button_for_product 还会在侧边栏创建购物车。

<TD>
  <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
  <select id="productcat1" name="productcat1">
    <option value="$">--Please Select--</option>
    <option value="1">Product # 1 - $1.99</option>
    <option value="2">Product # 2 - $1.99</option>
    <option value="3">Product # 3 - $9.99</option>
    <option value="4">Product # 4 - $9.99</option>
  </select>
  </form>
</TD>
<TD>    
  <?php $currentrow = 0; ?>
  <?php $currentrow = $_GET["productcat1"]; ?>
  <?php echo print_wp_cart_button_for_product($products[$currentrow]["Product"], $products[$currentrow]["Price"]); ?>
</TD>       

【问题讨论】:

  • 如果要在客户端响应选择,不能使用PHP,但必须添加一些Javascript/JQuery事件处理函数。
  • php 与浏览器无关……你需要 ajax 来完成这个

标签: php html drop-down-menu


【解决方案1】:

由于 PHP 是一种服务器端语言,它无法知道客户端中发生了什么(即用户浏览器中正在发生的事情,例如他们选择了哪个下拉菜单)。您必须使用 javascript/ajax 来完全运行您的函数,或者将选定的选项传回服务器以运行 PHP 函数。或者,您可以通过提交表单与不使用 javascript/ajax 的服务器进行通信,但您说您不想这样做。

祝你好运!

【讨论】:

  • 感谢您的回复。希望有一个我忽略的解决方案,但事实并非如此。是时候学习一些 Ajax 了!
  • @pan 祝你好运!作为一个新用户,如果您觉得我的回答是完整的(尽管现实令人失望),如果您投票赞成或接受我的回答,我将不胜感激。我仍在尝试获得基本的网站功能,所以我需要我能获得的每一个代表点!
猜你喜欢
  • 2021-11-21
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
  • 2018-06-23
  • 2019-07-26
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多