0

提前感谢您的帮助,希望在这里只是一个快速的问题。

我希望根据用户从选择列表中所做的选择链接到另一个页面。

例如,如果用户应该从列表中选择“Injection”,他将在单击时立即转发到“Injection”JSP 页面。在 JSP 中是否有任何与 .getSelectedIndex 等效的 jsp?刚开始,所以不太了解。

<%@page contentType="text/html" pageEncoding="UTF-8"%>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    <%@include file ="headerJSP.jsp" %>

    <center>
    Please select an OWASP topic:
    <select id="OWASPTopicList">
        <option value="" selected>Choose a topic</option>
        <option value="injectionJSP.jsp">Injection</option>
        <option value="https://www.google.ie/">Cross-Site Scripting (XSS)</option>
        <option value="TopicThree">Broken Authentication and Session Management</option>
        <option value="TopicFour">Insecure Direct Object References</option>
        <option value="TopicFive">Cross Site Request Forgery (CSRF)</option>
        <option value="TopicSix">Security Misconfiguration</option>
        <option value="TopicSeven">Insecure Cryptographic Storage</option>
        <option value="TopicEight">Failure to Restrict URL Access</option>
        <option value="TopicNine">Insufficient Transport Layer Protection</option>
        <option value="TopicTen">Unvalidated Redirects and Forwards</option>
    </select>
    </center>

    <script>
        $(function(){
        // bind change event to select
        $('#OWASPTopicList').bind('change', function () {
        var url = $(this).val(); // get selected value
        if (url) // require a URL
              { 
              window.location = url; // redirect
              }
        return false;
         });
       });
   </script>

    <%@ include file="footerJSP.jsp" %>

编辑:感谢您的帮助,使用了建议的代码,但它不起作用。编辑了我的代码以反映其当前状态,有什么想法有什么问题吗?页面编译并运行良好,但选择“注入”或“跨站点脚本 (XSS)”不会按需要重定向(这是我的两个测试选项,主要目标是所有选项都重定向到其他 jsp 页面)。

编辑 2:完美的 Hadrik,现在正在工作,非常感谢:D

4

2 回答 2

0
<script>
    $(function(){
      // bind change event to select
      $('#dynamic_select').bind('change', function () {
          var url = $(this).val(); // get selected value
          if (url) { // require a URL
              window.location = url; // redirect
          }
          return false;
      });
    });
</script>
于 2013-03-19T18:45:06.143 回答
0

您需要在代码中包含jsfor jQuery。在这里,我的.Sojquery.min.js下有js目录下,它是这样的webapps

<script type="text/javascript" src="js/jquery.min.js"></script>

然后使用绑定id到事件selectonchange

<script type="text/javascript">
        $(function(){
           $('#OWASPTopicList').bind('change', function () {
             var url = $(this).val(); // get selected value
             alert(url); // This will help to check whether JS is getting executed.
             if (url) { // require a URL
                window.location = url; // redirect
             }
             return false;
           });
       });
</script>
于 2013-03-20T07:42:13.357 回答