2013-02-15 3 views
0

Я думаю, что мой вопрос нечетный ... Я изучаю здесь и хотел бы использовать AJAX & JSP для отображения некоторых других страниц JSP в порядке. 1. Нажмите кнопку: page1.jsp, нажмите кнопку еще раз: page2.jsp отображается, ...ajax javascript function refresh

Я получил JSP, чтобы добавить «1» после страницы, а JSP - увеличивать эту переменную. Но это не меняет значение мимо страницы 1 ...

Это увеличивает правильно в функции, если я делаю location.reload(), но это, конечно, возвращает меня к первой странице ...

Я уверен, есть другие способы сделать это, но я просто хочу, чтобы это работало с использованием JSP ... Любые идеи

<!DOCTYPE html> 
<html> 
<head> 
<%! int n = 0;%> 
<script> 

function loadDoc() { 
<% n = n+1; %> 
var xmlhttp; 

if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 
    } 
    } 

xmlhttp.open("GET","page<%=n%>.jsp",true); 
xmlhttp.send(); 
} 
</script> 
</head> 
<body> 
<div id="myDiv"><h2>Using AJAX to display next page</h2></div> 
<button type="button" onclick="loadDoc()">Change Page</button> 
</body> 
</html> 

ответ

1

n каждый раз 0. Вам нужно сохранить n. Попробуйте использовать

<input type="hidden" value="0" id="countvariable" /> 

в вашем html где-то.

Тогда внутри loadDoc() поставил

var n = 1 + parseInt(document.getElementById("countvariable").value); 
document.getElementById("countvariable").value = n; 

Это должно держать вашу переменную. Кроме того, parseInt является обязательным, иначе javascript добавит 2 вместе, и вы получите 10 как n вместо 1.

Обновлено: Если вы хотите вернуться после определенного количества страниц, добавьте это до конца.

if(n == 2) 
{ 
    document.getElementById("countvariable").value = 0; 
} 
+0

Благодарим за быстрый ответ! Я думаю, что я вижу, куда вы идете, и снова я учусь здесь ... Я вижу, что это не будет работать с моими конкретными элементами JSP, поэтому я могу просто отказаться от этой идеи на данный момент  Как использовать этот новый var n как аргумент в .open()? Клянусь, я попытался это посмотреть, но мой вопрос настолько прост, и результатов просто нет ... ?? как мне получить переменную n здесь? xmlhttp.open ("GET", "page ?? n ??. Jsp", true); – user2076995

+0

Я понял! СПАСИБО!!!!!!!!! – user2076995