передача старого значения обратно в javabean из javascript - PullRequest
0 голосов
/ 18 апреля 2011

У меня есть этот фрагмент javascript:

<script type="text/javascript">
function show_confirm()
{

var type = '<%= nameBean.getTxnType() %>';
var old_cd = '<%= nameBean.getCode() %>';
var new_cd = document.getElementById("tbCode").value;
var cd;

if (type == "Update")
  {
    if(old_cd != new_cd)
    { 
        var response = confirm("Code already exists. Do you want to replace it?");
        if (response){
                    document.NameUpdate.submit();
        }
        else{
            cd = old_cd;

    }
  }
</script>

, и это то, что я делаю на своей странице jsp, чтобы вызвать этот скрипт:

<INPUT TYPE=SUBMIT NAME="action" onclick="show_confirm()" VALUE="Save Changes">

Работает нормально, когда я нажимаюхорошо ... но мой вопрос в том, как я могу передать значение old_cd обратно бобу, чтобы оно не обновляло его новым кодом, который был введен пользователем в поле tbcode .. когда пользователь нажимает кнопку отмены, я хочу игнорировать какое значениебыло введено в текстовое поле и не обновлять это поле в базе данных

1 Ответ

0 голосов
/ 18 апреля 2011

Мне не совсем понятен вариант использования, но вот пара ответов:

Если вопрос «как я могу остановить отправку формы, когда пользователь нажимает« Отмена »?», То ответ - вернуть false в обработчике кликов:

if (response){
    document.NameUpdate.submit();
}
else{
    cd = old_cd;
    return false;
}

Если вам нужно отправить форму независимо от того, на какой пользователь щелкает, то вам, вероятно, нужно отправить старое значение в скрытое поле input и указать серверу, что пользователь нажал «отменить» (возможно, другое скрытое поле), например:

<!-- html -->
<input type="hidden" name="old_cd" value="<%= nameBean.getCode() %>">
<input type="hidden" id="canceled" name="canceled" value="0">

и JavaScript:

// js snippet
if (response){
    document.NameUpdate.submit();
}
else{
    document.getElementById("canceled").value = 1;
    return true;
}
...