2011-12-18 37 views
6

如何傳遞從一個HTML頁面值的JavaScript如何將值形式傳遞給另一個html頁面一個html頁面javascript?

例如另一個html頁面:

Page1.html頁

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
    <title>arasu</title> 
    <style type="text/css"> 
    #popupbox{ 
    margin: 0; 
    margin-left: 40%; 
    margin-right: 40%; 
    margin-top: 50px; 
    padding-top: 10px; 
    width: 20%; 
    height: 150px; 
    position: absolute; 
    background: #FBFBF0; 
    border: solid #000000 2px; 
    z-index: 9; 
    font-family: arial; 
    visibility: hidden; 
    } 
    </style> 
    <script language="JavaScript" type="text/javascript"> 
    function login(showhide){ 
    if(showhide == "show"){ 
     document.getElementById('popupbox').style.visibility="visible"; 
    }else if(showhide == "hide"){ 
     document.getElementById('popupbox').style.visibility="hidden"; 
    } 
    } 
    </script> 
</head> 
<body> 
<div > 
<form name="login" action="AgaramAnimation.html" method="get"> 
<center>Username:</center> 
<center><input name="username" size="14" /></center> 
<center>Password:</center> 
<center><input name="password" type="password" size="14" /></center> 
<center><input type="submit" name="submit" value="login" /></center> 
</form> 
</div> 
</body> 
</html> 

這裏我輸入兩個值的用戶名和密碼時,我點擊提交按鈕彈出將關閉和值傳遞給另一頁下面給出的Java腳本。

Page2.html

function gettingvalues() 
     {    
      var connection = new ActiveXObject("ADODB.Connection"); 
      var connectionstring = "Data Source="";Initial Catalog="";User ID="";Password="";Provider="""; 
      connection.Open(connectionstring); 
      var rs = new ActiveXObject("ADODB.Recordset"); 
      rs.Open("select * from logindetails where username='" **+ username +** "' and password= '" **+ password +** "'", connection); 
      if (!rs.eof) { 
       document.getElementById("").innerHTML = ""; } 
      else { 
       alert('please enter valid username and password'); 
      } 
      connection.close; 
     } 

請幫我..........

回答

0

如果Main.html開闢Popup.htmlwindow.open(),那麼Popup.html頁面可以有使用window.opener參考其開放窗口(窗口Main.html)。因此,它可以調用使用Main.html定義的setCredentials回調函數

window.opener.setCredentials(...); 

例子:

在main.html中

// callback function called by the popup 
function setCredentials(login, password) { 
    // do what you want with the login and password 
} 
在Popup.html

// function called when the form is submitted 
function login(login, password) { 
    window.opener.setCredentials(login, password); 
    window.close(); 
} 
+0

請舉一些例子。 – Raj 2011-12-18 09:36:51

+0

很難用像jsfiddle這樣的網頁編輯器來製作類似的例子,因爲它需要單獨的html頁面才能工作。 – keithwyland 2013-04-24 23:18:32

0

你可以參考打開新窗口(稱爲父窗口)的窗口window.parent,然後使用該對象執行你的JavaScript。

這裏是強制父頁面使用刷新的一個例子是:[1]Forcing parent page refresh through javascript

所以你的情況你可能會說,在你的js的用戶名和密碼變量,這樣,你可以將它們設置在彈出的窗口像這樣:

//parent window 
username = ""; 
password = ""; 

.... 

//popup window 
window.parent.username = enteredUsername; 
window.parent.password = enteredPassword; 
+0

彈出式窗口是獨立的Html.Page。這裏是我的問題,當我點擊main.html中的鏈接,彈出窗口打開我輸入用戶名和密碼,然後彈出窗口必須關閉和用戶名和密碼傳遞給主要HTML中的Java腳本。 – Raj 2011-12-18 09:56:13

+0

是的。你有你的主頁面,從你的主頁面你彈出一個新的html頁面來獲取密碼信息。您的新html頁面包含對通過window.parent打開它的父頁面的引用。在關閉彈出窗口之前,您需要在父頁面中設置用戶名和密碼,然後在主父頁面中繼續。 – vassilo 2011-12-18 10:04:56

+0

@vassilo:window.parent是框架集中框架的父頁面。與彈出窗口無關。 window.opener是打開彈出窗口的窗口。請參閱https://developer.mozilla.org/fr/DOM/window.parent和我的回答 – 2011-12-18 11:08:07

2

假設你的兩個頁面在同一個域上,你可以使用localStorage。

Popup.html:

var user = prompt('user name', ''); 
var password = prompt('password', ''); 
localStorage.user = user; 
localStorage.password = password; 

然後回到主頁:

var user = localStorage.user; 
var password = localStorage.password; 

注1:我不會對安全性(其它評論比唐說,當然」 t就像我做過的那樣!)

注2:localStorage僅支持92%左右:http://caniuse.com/namevalue-storage

相關問題