【问题标题】:PHP Submit on SelectPHP 提交时选择
【发布时间】:2013-04-21 02:06:11
【问题描述】:

我试图没有提交按钮,当用户选择一个值时,有什么方法可以提交表单?

<form method="post" action="<?php echo $_SERVER['PHP_SELF']  ?>" >

    <table class="form">

            <select name="category" class="formfield" id="category">
                <option value="-1"> Category </option>
                <?php
                    $sql_contry = "SELECT * FROM category";
                    $rs_c = mysql_query($sql_contry);
                    while ($row_c = mysql_fetch_array($rs_c)) {
                        echo '<option value="'.$row_c['category'].'">'.$row_c['category'].'</option>';  
                    }
                ?>
             </select>

    </table>

</form>

【问题讨论】:

标签: php html submit


【解决方案1】:

这里是一个例子

<form>
    <select name='myfield' onchange='this.form.submit()'>
      <option selected>Milk</option>
      <option>Coffee</option>
      <option>Tea</option>
    </select>
    <noscript><input type="submit" value="Submit"></noscript>
</form>

使用 noscript 标签它允许不支持 JavaScript 的浏览器仍然运行。

【讨论】:

  • 现在谁在使用noscript,为什么这与这里有关?
  • @Adidi
  • 哦,你说什么?!我只是说,在今天的互联网上,如果有人禁用 js,他将无法在 90% 的网络上冲浪 - noscript 方法与 web 1.0 世界相关......
  • 我已经尝试了每个人发布的所有解决方案,但它还不是很有效,但我认为它已经接近了。通常,当我选择一个值并单击提交按钮时,它会在屏幕上显示数据。使用这种方法,我可以判断它正在提交,但数据没有显示在屏幕上。有什么想法吗?也就是说,不经过 500 行代码? ;)
  • 太棒了!谷歌搜索了几个小时。
【解决方案2】:

是的 - 使用 javascript:

HTML:

<form id="frm">
   <select onchange="onSelectChange();">
          <option>1</option>
           <option>1</option>
   <select>
</form>

js:

function onSelectChange(){
 document.getElementById('frm').submit();
}

【讨论】:

  • 您实际上需要让 js 函数接受一个参数或其他东西才能使其真正有用。你不能用这个 :) 添加 2 个选择列表。 +1
  • 是的 - 只是我的美分,以防 OP 觉得它令人困惑。
【解决方案3】:
<form action="product.php" method="POST">
<select onchange="this.form.submit();" name="prod">
    <option value="">Select product</option>
    <option value="1">abc</option>
    <option value="2">def</option>
    <option value="3">ghi</option>
    <option value="4">jkl</option>
    <option value="5">mno</option>
</select>

【讨论】:

    【解决方案4】:

    只需更改代码如下,我没有检查代码,所以可能会有一些错误,比如大写/小写我不确定,它是 submit() 或 Submit() 等等..

    <script language="javascript">
    function submitForm(){
        var val = document.myform.category.value;
        if(val!=-1){
            document.myform.submit();
        }
    }
    </script>
    <form method="post" name="myform" action="<?php echo $_SERVER['PHP_SELF']  ?>" >
    
        <table class="form">
    
                <select name="category" class="formfield" id="category" onchange="submitForm();">
                    <option value="-1"> Category </option>
                    <?php
                        $sql_contry = "SELECT * FROM category";
                        $rs_c = mysql_query($sql_contry);
                        while ($row_c = mysql_fetch_array($rs_c)) {
                            echo '<option value="'.$row_c['category'].'">'.$row_c['category'].'</option>';  
                        }
                    ?>
                 </select>
    
        </table>
    
    </form>
    

    【讨论】:

    • 谢谢您,但是我复制并粘贴了代码,由于某种原因它没有提交。我寻找大写/小写字母错误,但找不到。有什么想法吗?
    猜你喜欢
    • 2014-07-29
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 2017-01-30
    • 2015-01-20
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    相关资源
    最近更新 更多