使用 this.form.submit() 提交表单后无法获取表单元素的值;

这是我用 PHP 编写的 HTML:


<form method="post" action="">

    <select name="seltemplate" id="seltemplate" style="width:150px" onChange="this.form.submit();">

        <option value="0">Select a Template</option>

        <?php

        // Running the sql query

        $query = "SELECT * FROM `stripo_email_templates`";

        $rs = mysqli_query($con, $query);


        // If at least one record found

        if(mysqli_num_rows($rs) > 0)

        {

            // Fetch table rows

            while($row = mysqli_fetch_array($rs))

            {

                $template_id = $row['template_id'];

                $template_name = $row['template_name'];

                echo "<option value='$template_id'>$template_name</option>";

            }

        }

        ?>

    </select>

</form>

我正在使用this.form.submit();没有任何提交按钮的表单提交。


因此,只要更改选择列表选项,就会提交表单。


提交表单后,我想接收选择列表选定选项的值。


我在回声


echo $_POST['seltemplate'];

但没有收到任何价值。为什么?


米琪卡哇伊
浏览 183回答 1
1回答

慕标5832272

this.form.submit()在选择框元素中编写不是一个好习惯,因为“这个”意味着选择框不是您尝试此代码的表单或文档。function select_box_change(){&nbsp; &nbsp; var f = document.getElementById('form1');&nbsp; &nbsp; f.action = "your_php_file";&nbsp; &nbsp; f.submit();}html<form method="post" id="form1">&nbsp; &nbsp; <select id="seltemplate" style="width:150px" onChange="select_box_change();">&nbsp; &nbsp; &nbsp; &nbsp; <option value="0">Select a Template</option>&nbsp; &nbsp; &nbsp; &nbsp; <option>a</option>&nbsp; &nbsp; &nbsp; &nbsp; <option>b</option>&nbsp; &nbsp; </select></form>
打开App,查看更多内容
随时随地看视频慕课网APP