【问题标题】:How to make drop down menu reflect the form action in PHP and HTML?如何使下拉菜单反映 PHP 和 HTML 中的表单动作?
【发布时间】:2019-05-08 09:04:01
【问题描述】:

我想根据 html 中下拉菜单的输入来更改表单操作。

例如 - 当我提交表单并选择沃尔沃时,表单应将所有输入或操作重定向到 volvo.php

<form action= "*Depending on the input of the drop down menu*">
  <select name="cars">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="fiat" selected>Fiat</option>
    <option value="audi">Audi</option>
  </select>
  <br><br>
  <input type="submit">
</form>

谢谢!

【问题讨论】:

  • 我认为你应该重新考虑你的方法。这个逻辑最好在表单提交到 cars.php 文件之后处理,然后依赖于选择的选项直接到适当的文件。
  • 将所有内容定向到单个脚本然后只需 IF $_POST['cars'] == 'volvo'){ 或编写开关 switch ($_POST['cars']) { case: 'volvo' 会不会更简单
  • 您可以使用 JavaScript 来实现它(我今天早些时候发布了类似的答案 stackoverflow.com/a/56035972/4535200),但您最好根据所选选项在服务器端处理它。
  • 我同意,这个想法没有多大意义。您真的要为每种汽车制造一个单独的 PHP 脚本吗?为什么?这些脚本中的每一个到底有什么不同?相反,每次都提交到同一个脚本,让该脚本读取提交的值,然后决定如何处理该信息。这样,如果您添加更多品牌的汽车,您就无需继续添加脚本。
  • 我认为你可以使用 ajax。当您选择汽车并提交 ajax 时,在另一个文件中您会得到 if($cars = X)[include this file]else[include this other file]..

标签: php html


【解决方案1】:

虽然这绝对不是这样做的首选方式 - 最好的方法是只有一个 php 文件,您可以在其中检查值并采取相应措施 - 这里介绍如何实现您所要求的(使用 jQuery 作为示例):

<form id="MyForm">
    <select id="cars" name="cars">
        <option value="volvo">Volvo</option>
        <option value="saab">Saab</option>
        <option value="fiat" selected>Fiat</option>
        <option value="audi">Audi</option>
    </select>
    <br><br>
    <input id="submitButton" type="submit">
</form>

<script>
    $("#submitButton").click(function(e){
        e.preventDefault();
        $('#MyForm').attr('action', $('#cars').val()+".php").submit();

    });
</script>

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 2014-12-04
    • 2016-02-17
    • 2019-07-10
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多