我正在设置一个页面,其中第一步是让用户从下拉列表中进行选择。我不想要求用户首先进行选择,然后单击提交按钮,因为此时他们没有其他任何操作。这是页面的FORM元素部分的代码片段。
<form action="index.php" target="_self" method="post">
<label style:padding:1px margin:0px font-size:12px>Last Name</label>
<select name="UniqueLastNames" onchange="checkField(this.value)">
(the option values are wrapped in php and get their values from a database)
我知道通常最后一部分是使用type = submit的input元素,但我只想让用户在列表中做出选择后立即运行POST操作。 Java Script的checkFidld()返回所选的名称,它当前将它放入我的表单上的标签中,只是证明下拉列表正在工作。
我也更喜欢使用POST而不是GET,因此用户无法更改URL,是的,用户实际上停留在同一页面上,当页面填充时,该页面的其余数据将被填充刷新。
答案 0 :(得分:0)
据我了解您的问题和评论,您希望您的用户从下拉框中选择值,并且应该相应地更新具有不同字段的页面。
// PHP code
$choice = $_GET['userchoice'];
// Get Data from Database and update fields in Page
// In javascript, Use this code.
<script type="text/javascript">
function checkField(val)
{
window.location = "yourpage.html?userchoice="val;
}
</script>
我再次建议您使用会对您的客户产生更好影响的Ajax。
答案 1 :(得分:0)
调用submit
函数后,只需在表单中调用checkField
方法即可。例如:
<强> HTML 强>
<form action="index.php" target="_self" method="post" id="your-form">
<select name="UniqueLastNames" onchange="checkField(this.value)">
...
</select>
</form>
<强>的JavaScript 强>
function checkField(val) {
// do something with your val
document.getElementById('your-form').submit()
}
请注意我在表单元素中添加了一个ID,因此我可以在JavaScript中轻松选择它。