2013-07-11 83 views
-2

我已經寫在JSP頁面的js函數,計算兩個日期之間的天數訪問的JavaScript函數和元素:如何從不同的HTML頁面

<script type="text/javascript"> 
    function chk(d,e) 
    { 
     var x = d.split('/') 
     var y = e.split('/') 
     var a = new Date(x[2],x[0],x[1]) 
     var b = new Date(y[2],y[0],y[1]) 
     var c = (b - a) 
     var d = c/(1000 * 60 * 60 * 24) 
    } 
    </script> 

同一個JSP頁面也有文本框:

<input type="text" name="id"> 

我要訪問的js函數即「d」,並從不同的jsp頁面文本框ie'id」的值計算出的值。我該怎麼做???

+1

除非你打開第二,不同的JSP頁面中一個由主頁生成的窗口,你不能。 –

回答

0

您可以製作一個.js文件,並將腳本放入該文件並使用腳本標記導入js文件,您需要在該文件中使用javascript。

<script src="myscripts.js"></script> 
+0

我將如何從.js文件調用函數來獲取值'd'? – Akira

+0

當您調用d和e時,您將傳遞d和e的值。 – Adil

0

可以使用的2種方法之一,在第一種方法,你將與值(d和id),但在第二個方法被重定向到第二頁的同時,你可以留在第一頁,而價值將得到提交到第二頁。
首先

您可以創建一個form,並把它裏面的textfield,也是一個hidden input field將攜帶d值。

<form action="2ndpage.jsp" method="POST" onsubmit="initializeVar()"> 
<input type="hidden" value="" name="d" id="id1"> 
<input type="text" id="id" name="text"> 
<input type="submit"> 
</form> 

<script> 
    function initializeVar() 
    { 
    document.getElementById("id1").value=d; 
    } 
</script> 

第二

您可以使用ajax用於此目的。

function loadXMLDoc() 
{ 
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) 
    { 
    alert("values posted"); 
    } 
    } 
var text_box_text = document.getElementById("id"); 
var args = "?d=" + d + "&text=" + text_box_text; 
xmlhttp.open("GET","2ndpage.jsp"+args,true); 
xmlhttp.send(); 
} 

只要看看從底部第3,第4和第5線。
當你想THOS值發送到另一個網頁,只調用函數loadXMLDoc()

在你2ndpage.jsp,你可以檢索這些值通過使用

int date_diff = Integer.parseInt(request.getParameter("d")); 
String text_field_text = request.getParameter("text"); 
相關問題