早上好!
我知道此主题已经在SO上讨论过了,但我找不到下面具体情况的完整答案,所以如果我在其他地方错过了答案我会道歉。
范围:
我想要实现的是一个可以加载php文件的下拉列表(使用纯HTML或java脚本完成,首选HTML)。在该php文件中,它应该能够访问所选的下拉值。
我尝试了什么:
方法1:
我之前使用过这样的方法:
<form action="test.php" method="post">
<select name="dropdown" id="dropdown">
<option value="value1">Option 1</option>
<option value="value2">Option 2</option>
</select>
<input name="submitbutton" type="submit" value="submit" />
</form>
然后单击提交按钮,test.php页面加载,我可以使用$ _POST(“下拉列表”)获取下拉列表的值。这种方法完美无缺!但是我想提交表单而不需要按钮,只需使用下拉onchange事件即可。
方法2:
我也尝试过使用:
<form>
<select name='dropdown' onchange='this.form.submit()'>
<option value="value1">Option 1</option>
<option value="value2">Option 2</option>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>
将重新加载页面onchange而不是test.php页面。将“this.form.submit()”更改为test.php不起作用。
我觉得我和两个人都很亲密但并不完全相同。我希望我所要达到的目标能够得到很好的解释。
感谢您提前做出任何回复!
答案 0 :(得分:7)
添加:
<form action="test.php" method="post">
对于method2,它应该可以正常工作。
答案 1 :(得分:3)
为表单命名:
<form name="form1" action="test.php">
....然后你的onchange将是:document.form1.submit();
答案 2 :(得分:0)
您忘记在for标记中添加“action="test.php"
”和“method="post"
”。因此,您的IInd方法应如下所示:
HTML代码:
<form action="test.php" method="post">
<select name='dropdown' onchange='this.form.submit()'>
<option value="value1">Option 1</option>
<option value="value2">Option 2</option>
</select>
<noscript><input type="submit" value="Submit"/></noscript>
</form>
它会起作用,您可以在print_r($_POST)
中使用test.php
显示您的帖子数据。它会显示dropdown
值:)
答案 3 :(得分:0)
尝试使用ajax
jQuery的:
$(document).on("change", "select#dropdown", function(){
$.ajax({
url: 'http://localhost/test/action.php',
type: "post",
data: $("#myform").serialize();,
success: function(response) {
$('select#dropdown').after("dropdown changed!");
}
});
});