2012-05-28 4 views
0

У меня есть переменная, определенная в верхней части моей страницы JSP:Обновление Jsp переменной внутри JavaScript

<%! int count = 0; %> 

Я тогда называю JQuery с ButtonClick как так:

<script type="text/javascript"> 
$(document).ready(function() {   
    $('#somebutton').click(function() { 
     var c = '<%=count%>'; 
     <% count += 5; %> 
    }); 
}); 
</script> 

Идея заключается в том, что подсчет переменных будет обновляться (и сохраняется) после выполнения функции. Тем не менее, кажется, что он обновляет счет локально, но не сохраняется на глобальном уровне. Когда я нажимаю кнопку, счетчик всегда устанавливается в 5, но при последующих нажатиях кнопок он не увеличивается до 10, 15 и т. Д.

Как обновить переменную jsp из функции jquery и сохранить ее?

+1

JSP на стороне сервера. JavaScript - клиентский. Эти два не смешиваются; то, что вы делаете, увеличивает его один раз. – Ryan

+0

А, это правда. Спасибо за разъяснения. – Aaron

+1

JSP создает HTML, который отправляется с веб-сервера на webbrowser. JS является частью HTML. Правая страница в браузере и * Просмотр источника * для получения просветления. – BalusC

ответ

1

Вам нужно будет сделать обратный вызов на сервере и сохранить данные в переменной сеанса (или, предположительно, в cookie, в зависимости от потребностей безопасности).

+0

Для того, что я делаю, может быть достаточно. Спасибо за идею. – Aaron

0

@ Аарон-Вы можете использовать один метод в JavaScript как

function increment(){ 
       var value1=document.getElementById("lbl1").value; 
       value1=parseInt(value1)+5; 
       document.getElementById("lbl1").innerText=value1; 
      } 

где lbl1 является идентификатор текстового поля в вашей JSP, который имеет значение, записанное в виде 0 т.е. <input type="text" value="<%=count%>" id="lbl1"/>. и на кнопку приращении нажмите вызов() метод как этого <input type="submit" onclick="increment()"/>.

Надеется, что это отвечает вашим требования ...

+0

Хорошая идея, я закончил тем, что использовал куки-файл, но это интересный трюк и, вероятно, сработал бы. – Aaron

+0

offcourse вы также можете делать с печеньками, но для этого небольшого требования cookie методология будет слишком длинной ... – Ars

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