使用多个下拉列表选择的 URL 查询字符串(最好是 PHP?)

问题描述 投票:0回答:2

我正在尝试在 PHP 表单页面上按下提交按钮时在基于 PHP 的购物车上创建动态 URL 查询字符串,网站用户已从多个下拉菜单中选择选项。

URL 示例:www.mydomain.com/index.php?main_page=advanced_search_result&search_in_description=1&keyword=32-C

如果你看上面的 URL,“&keyword=”之后的最后部分应该是动态的,所以它基本上是 URL:

www.mydomain.com/index.php?main_page=advanced_search_result&search_in_description=1&keyword="FIRST DROP DOWN BOX"+"-"+"SECOND DROP DOWN BOX SELECTION"

如何编写脚本,如何设置表单按钮来执行脚本?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Search</title>
</head>

<body>
    <form name="form1" method="post" action="">

        <select name="BustSize" id="BustSize">
            <option value="0" selected="selected">Bust Size</option>
            <option value="30">30</option>
            <option value="32">32</option>
            <option value="34">34</option>
            <option value="36">36</option>
            <option value="38">38</option>
            <option value="40">40</option>
        </select>

        <select name="CupSize" id="CupSize">
            <option value="0" selected="selected">Cup Size</option>
            <option value="AA">AA</option>
            <option value="A">A</option>
            <option value="B">B</option>
            <option value="C">C</option>
            <option value="D">D</option>
            <option value="DD">DD</option>
            <option value="E">E</option>
            <option value="F">F</option>
        </select>

        <input name="Search" type="button" value="Submit">

    </form>

</body>

</html>
javascript php html input drop-down-menu
2个回答
3
投票

这可以在 jQuery 的支持下完成。我在以下 URL 创建了一个工作脚本:http://sugunan.net/demo/form1.php。你可以在那里看到源代码,因为它是纯 HTML 和 JavaScript 函数。但是我在这里复制代码供您参考。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Search</title>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>

    <script>
        $(document).ready(function(){
            $( "#submit_search" ).click(function() {
                var url = "http://sugunan.net/demo/form1.php?main_page=advanced_search_result&search_in_description=1&keyword="
                url = url + $( "#BustSize" ).val();
                url = url + "-" + $( "#CupSize" ).val();
                window.location = url;
            });
        });
    </script>
</head>

<body>
    <form name="form1" method="post" action="">

    <select name="BustSize" id="BustSize">
        <option value="0" selected="selected">Bust Size</option>
        <option value="30">30</option>
        <option value="32">32</option>
        <option value="34">34</option>
        <option value="36">36</option>
        <option value="38">38</option>
        <option value="40">40</option>
    </select>

    <select name="CupSize" id="CupSize">
        <option value="0" selected="selected">Cup Size</option>
        <option value="AA">AA</option>
        <option value="A">A</option>
        <option value="B">B</option>
        <option value="C">C</option>
        <option value="D">D</option>
        <option value="DD">DD</option>
        <option value="E">E</option>
        <option value="F">F</option>
    </select>

    <input name="Search" id="submit_search" type="button" value="Submit" />

    </form>

</body>

</html>

检查脚本部分的 HTML 标头。


1
投票
  1. 您可以在表单中创建一个名为“关键字”的隐藏输入字段:

  2. 将处理程序附加到表单的onsubmit事件:

     <form name="form1" method="post" action="" onsubmit="updateKeyword()">
    
  3. updateKeyword函数:

     function updateKeyword() {
    
         var bustSize = document.getElementById("BustSize").value,
         cupSize = document.getElementById("CupSize").value;
    
         document.forms[0].keyword.value = bustSize + "-" + cupSize;
     }
    
© www.soinside.com 2019 - 2024. All rights reserved.