【问题标题】:How to use javascript to POST PHP variable from HTML select options onchange? [duplicate]如何使用 javascript 从 HTML 选择选项 onchange 中发布 PHP 变量? [复制]
【发布时间】:2014-02-21 20:04:14
【问题描述】:

我有一个简单的下拉菜单,我想重新加载页面以便通过 PHP $_POST 提交一个值,而无需单击提交按钮。我可以用javascript做到这一点吗?如果有,怎么做?

【问题讨论】:

标签: javascript php html post


【解决方案1】:

AJAX 就是答案。如果您的页面中有 jQuery,请使用以下内容:

$("#mySelectBox").change(function() {
    var selected = $(this).val(); //here you have the value of the selected option

    $.ajax({
        type: "post",
        url: "myscript.php",
        data: { value : selected } //this value will be accessible in your script via $_POST["value"]
    });
});

编辑

如果你真的想重新加载页面,虽然这看起来有点难看,因为用户在下拉列表中选择某些内容并重新加载页面可能会不舒服,jQuery 也可以让它变得非常容易:

$("#mySelectBox").change(function() {
    $("#myForm").submit();
}

【讨论】:

  • OP 说“我想重新加载页面”。虽然你所拥有的肯定是更多的“现代”方式(如果从头开始,我会建议这样做),但 OP 可能有理由想要重新加载。
  • 我明白了。感谢您指出这一点,刚刚更新了我的答案。
  • 其实我打算改用这个。我对javascript不是很熟悉。我在哪里放置这个 jquery 脚本在我的网页?
  • 我通常在文档正文元素的末尾打开一个
  • 另外,请注意,我假设您的表单 id 是“myForm”,而您的选择框的 id 是“mySelectBox”;)
【解决方案2】:

你会想要一些类似的东西……

<form id="myForm" name="myForm" method="POST">
    <select id="mySelect" name="mySelect" onchange="document.getElementById('myForm').submit();">
        <option value="optionOne">Option One</option>
        <option value="optionTwo">Option Two</option>
    </select>
</form>

【讨论】:

    【解决方案3】:

    做了一个jsfiddle http://jsfiddle.net/9p7nc/

    <form action="test.php" method="POST">
    <select name="value" id="value" onchange="this.form.submit()">
        <option value="blue">blue</option>
        <option value="green">green</option>
        <option value="red">red</option>
        <option value="yellow">yellow</option>
    </select>
    </form>
    

    【讨论】:

      【解决方案4】:

      如果你使用 jQuery,你可以这样做:

      <script type="text/javascript">
      
      $(function() {
         $('#yourSelect').change(function(){
            $('#hiddenSubmitButton').click();
         })
      });
      
      </script>
      

      【讨论】:

      • 为什么要这样做而不是直接调用表单的submit() 函数?
      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 1970-01-01
      • 2016-02-19
      • 2013-03-13
      • 2021-06-27
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      相关资源
      最近更新 更多