2

这是我的 index.jsp 代码。我想要它,以便当我在下拉菜单中选择一个选项时,应该打印出该值并且应该设置该值。例如,如果我们选择“grapes”,那么它应该打印 Grapes 并将值设置为 Grapes。我尝试了很多事情,但一直无法做到。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
</head>
<body>
    <form method="post" action="index.jsp" name="productForm">
    <select name="colour" onchange="document.productForm.submit();">
        <option value="dropdown">Pls select one
        <option value="apple">Apple
        <option value="oragne">Orange
        <option value="grapes">Grapes
    </select>
    <input type="hidden" name="dropdown" id="dropdown">
    <input type="submit" value="click" name="dropdown" id="dropdown">
    <form>
    <%
        String colour = request.getParameter("colour");
        out.println(colour);
    %>
</body>
</html>
4

3 回答 3

3

试试这个,让我知道..

<script type="text/javascript">
function setValue(){
document.getElementById("dropdown").value=document.getElementById("colour").value;
document.productForm.submit();
return true;
}
</script>

<form method="post" action="index.jsp" name="productForm">
    <select id="colour" name="colour" onchange="return setValue();">
        <option value="dropdown">Pls select one
        <option value="apple">Apple
        <option value="oragne">Orange
        <option value="grapes">Grapes
    </select>
    <input type="hidden" name="dropdown" id="dropdown">
    <input type="submit" value="click" name="btn_dropdown">
    <form>

  <%
        String colour = request.getParameter("colour").toString();
        out.println(colour);
   %>
于 2013-07-22T05:38:09.637 回答
1

form并且所有option标签都没有关闭

的正确标记示例option

<option value="apple">Apple</option>

您更新的代码应该是这样的:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Insert title here</title>
    </head>
    <body>
        <form method="post" action="index.jsp" name="productForm">
            <select name="colour" id="dropdown">
                <option value="dropdown">Pls select one</option>
                <option value="apple">Apple</option>
                <option value="oragne">Orange</option>
                <option value="grapes">Grapes</option>
            </select>
            <input type="submit" value="click">
        </form>
        <%
        String colour = request.getParameter("colour");
        out.println(colour);
        %>
        <script>
        document.getElementById("dropdown").value = '<% out.print(colour); %>';
        </script>
    </body>
</html>
于 2013-07-22T05:26:17.260 回答
0

首先第一件事,如果您想在值更改时为下拉菜单设置值,那么它自己会这样做。但是,如果您想将选定的值设置为会话,那么它本身就会这样做,您所要做的就是在处理请求的下一页或后端使用 request.getParameter(color)。要在控制台上打印,您有正确的代码。仅正确关闭标签。

于 2013-07-22T05:43:52.103 回答