2015-04-23 3 views
0
var answer = confirm("Do you want to save?"); 
alert(answer); 
if(answer==true){ 

    <% 
     session.setAttribute("confirm", "true"); 
    %> 
}else if(answer==false){ 
    <% 
     session.setAttribute("confirm", "false"); 
    %> 
} 

Что не так с моим кодом? Я сделал диалог подтверждения. всякий раз, когда я нажимаю кнопку отмены, он устанавливает атрибут подтверждения в значение false. но когда я нажал ok, он сделал коды внутри истинного условия, но также и код jsp внутри ложного условия. он игнорирует условие. Скажи мне, что не так?как предотвратить выполнение jsp

ответ

1

JSP выполняется на сервере перед запуском JavaScript в браузере (до его отправки в браузер).

Для выполнения на стороне сервера JavaScript полностью игнорируется. Это просто часть вывода, как и HTML.

Все сервер видит:

jspOut.write("var answer = ......... "); 
session.setAttribute("confirm", "true"); 
jspOut.write("} else if ..... "); 
session.setAttribute("confirm", "false"); 

Как вы можете видеть, не существует условное исполнение здесь вообще.

Если вы хотите взаимодействовать с сервером с помощью JavaScript, вам необходимо сделать новый запрос на передачу и получение данных. Например, используя Ajax. Или путем размещения формы.

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