javascript - 如何使用 URL 传递变量

标签 javascript php html

我正在尝试通过 URL 将 2 个值传递到另一个页面。我知道如何执行此操作,但是我正在从选择框的结果中获取其中一个值。我正在获取选定的值并将其存储在一个变量中,然后尝试将此变量发布到 URL 中。

选项 1 正在存储所选值。

<select name = 'ADDITIONALINFO' id = 'ADDITIONALINFO'>
    <option value="1">Option 1</option>
      <option value="2">Option 2</option>
      <option value="3">Option 3</option>
      <option value="4">Option 4</option>
</select>

<script>
        var sel = document.getElementById("ADDITIONALINFO");

        sel.onchange = function()
        {
            var option1 = sel.options[sel.selectedIndex].text;
            alert(option1);
        };
        </script>

        <?php


        echo "<div class=\"add-button-quote\"><a href=\"/quotation/index.php?sku=" . $product->PR_SKU . "&OP_NAME=" . $option1 . "&OP_NAME2=" . $o->OP_NAME . "\">Get a Quotation</a></div>";

我遇到的问题是,当我单击按钮时,它所带的 URL 也会显示 $sku,但不显示 $option1。

如果有人能发现我哪里出了问题,我将非常感谢你的建议。谢谢!

最佳答案

当页面处于事件状态时,PHP 不会运行,它只会在页面加载之前运行。从那里你必须依赖 javascript。

如果 $product->PR_SKU$o->OP_NAME 由 PHP 设置,则不必更改该部分,但删除 OP_NAME 来自网址。选择选项后,您可以通过 javascript 添加参数。

请注意,您可能希望将 baseUrl 存储在其他位置,而不是像下面这样编写,这样您可能会获得参数的重复项:

document.getElementById("your-link").href += "&OP_NAME=" + option1;

这样做:

var baseUrl = <?php echo "/quotation/index.php?sku=" . $product->PR_SKU . "&OP_NAME2=" . $o->OP_NAME; ?>

var sel = document.getElementById("ADDITIONALINFO");
sel.onchange = function()
{
    var option1 = sel.options[sel.selectedIndex].text;
    document.getElementById("your-link").href = baseUrl + "&OP_NAME=" + option1;
};

您的 div 可以如下所示(请注意删除了 option1 和 id='your-link':

<?php
echo "<div class=\"add-button-quote\"><a id=\"your-link\" href=\"/quotation/index.php?sku=" . $product->PR_SKU . "&OP_NAME2=" . $o->OP_NAME . "\">Get a Quotation</a></div>";
?>

关于javascript - 如何使用 URL 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29824382/

相关文章:

Javascript 测试 : Inconsistent number of tests

javascript - 仅针对单个 href 更改检测 iPad(或 iOS)

javascript - 将一个 _fixed_ 变量发布到弹出窗口

javascript - Greasemonkey 如何自动连续点击按钮?

html - 如何在我的案例中创建多种背景颜色?

javascript - 如何从复选框收集选中的值 Jquery

javascript - 如何将自定义格式应用于.ValueFormat nvd3.js?

java - 在注册页面中,即使是空格也会被注册,mysql数据库-php- android

php - 如何在没有 json_encode() 的情况下将数组编码为 JSON?

jquery - 在移动 View 中将 Bootstrap 选项卡切换为下拉列表