2016-03-22 5 views
2

Я действительно очень плохо разбираюсь в кодировании, вот мой вопрос. Как перенаправить на другую страницу с помощью JSP и Javascript? или сервлета? Я ничего не понимаю в Servlet, поэтому я использую Javascript. Когда я выберу любой из параметров и нажмите «Отправить», ничего не произойдет.Перенаправление из раскрывающегося списка

Вот мой код:

JSP:

<form> 
    <select id="module_id" name="module_id" /> 
     <option value="0" selected /></option> 
     <option value="1" /> CD101 </option> 
     <option value="2" /> CD102 </option> 
     <option value="3" /> CD103 </option> 
     <option value="4" /> CD104 </option> 
     <option value="5" /> CD105 </option> 
     <input type="button" value="Submit" onclick ="myChoice();" /> 
    </select> 
</form> 

Javascript: (Google-d)

<script type="text/javascript"> 
function myChoice(){ 
    var s = document.getElementById("module_id"); 
    var module_id = s.selectedIndex.value; 

    if (module_id === 1) 
     window.location = "response.jsp"; 
    if (module_id === 2) 
     window.location = "http://www.google.com"; 
} 
</script> 

ответ

1

function myChoice(){ 
 
    var s = document.getElementById("module_id"); 
 
    var module_id = s.value; 
 
    console.log(module_id); 
 
    if (module_id === "1") 
 
     alert("ok"); 
 
    if (module_id === 1) 
 
     alert("not ok"); 
 
}
<form> 
 
    <select id="module_id" name="module_id" /> 
 
     <option value="0" selected /></option> 
 
     <option value="1" /> CD101 </option> 
 
     <option value="2" /> CD102 </option> 
 
     <option value="3" /> CD103 </option> 
 
     <option value="4" /> CD104 </option> 
 
     <option value="5" /> CD105 </option> 
 
     <input type="button" value="Submit" onclick ="myChoice();" /> 
 
    </select> 
 
</form>

Repl ася это из вашего кода:

function myChoice(){ 
     var s = document.getElementById("module_id"); 
     var module_id = s.value;//changed 

     if (module_id === "1")//changed 
      window.location.href = "response.jsp"; 
     if (module_id === "2")//changed 
      window.location.href = "http://www.google.com"; 
    } 

Объяснение:

Вы получаете string значения типа, и вы сравнивали с int, The === оператора сравнение значения, а также типа именно поэтому перенаправление не происходит.

Для получения дополнительной информации вы должны прочитать этот замечательный ответ https://stackoverflow.com/a/359509/3143384.

И selectedIndex из javascript возвращает индекс выбранной опции, а не ссылку на объект. поэтому у вас есть пользователь option или value. Для больше вы можете прочитать this и попробовать this example

+1

ohmygod, как я мог пропустить что из .. и s.value. большое спасибо!!!!! –

+0

Используйте 'window.location.href = ...', для некоторых браузеров просто 'window.location = ...' не будет работать –

+0

отредактировал спасибо .. –

Смежные вопросы