这是我用 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
echo $_POST['seltemplate'];
但没有收到任何值。为什么?
最佳答案
this.form.submit()
不是在选择框元素中编写的好习惯,因为 “this” 表示选择框而不是表单或文档,您可以试试这个代码。
function select_box_change()
{
var f = document.getElementById('form1');
f.action = "your_php_file";
f.submit();
}
html
<form method="post" id="form1">
<select id="seltemplate" style="width:150px" onChange="select_box_change();">
<option value="0">Select a Template</option>
<option>a</option>
<option>b</option>
</select>
</form>
关于javascript - 使用 this.form.submit() 提交表单后无法获取表单元素的值;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57266922/