[英]JSP form automatically submits
问题是JSP页面会自动提交并将我转移到动作servlet。 我如何等待用户在下拉选项菜单中进行选择?
<form name="mainForm" action="psm.srv" method="POST" onSubmit="return setParam(event)">
<select id="main" onchange="document.mainForm.submit()">
<option value="null">Choose chart</option>
<option value="pays">PAYS</option>
<option value="expenses">EXPENSES</option>
</select></form>
<script type="text/javascript">
function setParam(event){
event.preventDefault();
var select = document.getElementById("main");
var value = select.options[select.selectedIndex].value;
document.mainForm.action = "psm.srv?optionSelected=" + value ;
document.mainForm.submit();
}
</script>
问题是这一行:
onchange="document.mainForm.submit()"
这意味着每当选择输入更改时,表单都会提交。 您不必手动设置此值。 将“名称”属性添加到选择字段,然后像平常一样在servlet中获取参数。 该值将自动设置。 不过,您需要一个提交按钮。
<form name="mainForm" action="psm.srv" method="POST">
<select name="selectField">
<option value="null">Choose chart</option>
<option value="pays">PAYS</option>
<option value="expenses">EXPENSES</option>
</select>
<input type="submit" value="Submit"/>
</form>
在您的servlet中,您只需执行以下操作:
String fieldValue = request.getParameter("selectField");
删除Submit和onchange方法,可以通过Jquery轻松完成:
$(document).on('change', '#main', function () {
var selectedValue=$(this).val();
var url = "psm.srv?optionSelected=" + selectedValue;
window.location = url;
});
这将获取您的当前值,并转到操作网址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.