остаться на текущей странице после нажатия кнопки отмены - PullRequest
4 голосов
/ 01 марта 2012

У меня есть форма в index.jsp, и после нажатия кнопки «Отправить» отображается предупреждение «Подтвердить отправку?» если будет нажата кнопка ok , будет отображен файлфирма Подтвердить.jsp. Я получаю имя текстового поля в verifymsubmit.jsp по request.getParameter("textboxname"); Но проблема в том, что если я нажимаю cancel , то открывается такжефирм Подтверждение Submit.jsp. Как я могу остаться в index.jsp после нажатия кнопки отмены в оповещении?

Любая помощь, пожалуйста

index.jsp

<form action="confirmsubmit.jsp" method="POST">
<script type="text/javascript">
<!--
function confirmation() {
var answer = confirm("Confirm submit?")
if (answer){

    window.location = "confirmsubmit.jsp";// goes to confirmsubmit.jsp
}
else{
    //should remain in index.jsp but here also confirmsubmit.jsp is opening
}
}
//-->
</script>
<input type="text" name="textboxname"/>
<input type="submit" onclick="confirmation()"/> 
</form> 

Ответы [ 3 ]

9 голосов
/ 01 марта 2012

Добавьте следующую строку в остальной части:

return false;

и измените onclick на:

return confirmation();

=== ОБНОВЛЕНИЕ ===

Поскольку у вас есть confirmsubmit.jsp в форме действия, вам не нужно window.location:

function confirmation() {
    if (!confirm("Confirm submit?")) {
        return false;
    }
}

Также см. этот пример .

2 голосов
/ 01 марта 2012
 <form action="confirmsubmit.jsp" method="POST">
    <script type="text/javascript">
    <!--
    function confirmation() {
    var answer = confirm("Confirm submit?")
    if (answer){

        window.location = "confirmsubmit.jsp";// goes to confirmsubmit.jsp
        return true;
    }
    else{
        //should remain in index.jsp but here also confirmsubmit.jsp is opening
    return false;
    }
    }
    //-->
    </script>
    <input type="text" name="textboxname"/>
    <input type="submit" onclick="return confirmation()"/> 

</form>  
0 голосов
/ 01 марта 2012

Снимите return с onclick и добавьте return false;, если !answer

<script type="text/javascript">
function confirmation() {
    var answer = confirm("Confirm submit?")
    if (!answer){
        return false;
    }
}
</script>

<form action="confirmsubmit.jsp" method="POST">
    <input type="text" name="textboxname"/>
    <input type="submit" onclick="confirmation()"/> 
</form>  
...