繁体   English   中英

JSP表单自动提交

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM