2014-03-13 80 views
1

嗨,大家好,這可能是一個愚蠢的問題,但如果我有一個HTML頁面打開,其中包含一個文本框有可能將該文本框的值移動到另一個頁面點擊一個按鈕點擊?將文本框的值傳遞到另一頁html

因此,「page1.html」有一個名爲「TextboxName」的文本框,名稱爲「John」的用戶類型,單擊該按鈕,然後關閉頁面並將「John」移動到「page2.html」上的文本框中

在此先感謝您的幫助,這個問題真的讓我難住!

+0

許多方法。最簡單 - 將它傳遞給查詢字符串「page2.html?TextboxName = John」。谷歌它 –

回答

0

這可以做到,但它需要的不僅僅是純html。 Javascript或PHP可以輕鬆完成這樣的功能。

看到這個:How to pass variables from one php page to another without form?

或者嘗試的JavaScript + AJAX:http://www.w3schools.com/ajax/ajax_intro.asp

和:http://www.javascripter.net/faq/passingp.htm

您也可以存儲在cookie和訪問信息這樣的說法:http://www.javascripter.net/faq/cookies.htm

或者只是使用角度:http://docs.angularjs.org/guide/databinding

0

在page1.html做:

function onClickHandler(){ 
    location.href = 'page2.html?name=' + document.getElementById('TextBoxName').value; 
} 

然後page2.html做:

function parseQueryString() 
{ 
    var queryDict = {} 
    location.search.substr(1).split("&").forEach(function(item) { 
     queryDict[item.split("=")[0]] = item.split("=")[1] 
    }); 

    return queryDict; 
} 

function onLoadHandler(){ 
    document.getElementById('TextBoxName').value = parseQueryString().name; 
} 
0

試試下面的代碼:

Page1.html:

<html> 
    <form type=get action="page2.html"> 
    <table> 
    <tr> 
    <td>First Name:</td> 
    <td><input type=text name=firstname size=10></td> 
    </tr> 
    <tr> 
    <td>Last Name:</td> 
    <td><input type=text name=lastname size=10></td> 
    </tr> 
    <tr> 
    <td>Age:</td> 
    <td><input type=text name=age size=10></td> 
    </tr> 
    <tr> 
    <td colspan=2><input type=submit value="Submit"> 
    </td> 
    </tr> 
    </table> 
    </form> 
</html> 

Page2.html :

<html> 
<script LANGUAGE="JavaScript"> 
    function getParams(){ 
    var idx = document.URL.indexOf('?'); 
    var params = new Array(); 
    if (idx != -1) { 
    var pairs = document.URL.substring(idx+1, document.URL.length).split('&'); 
    for (var i=0; i<pairs.length; i++){ 
    nameVal = pairs[i].split('='); 
    params[nameVal[0]] = nameVal[1]; 
    } 
    } 
    return params; 
} 
params = getParams(); 
firstname = unescape(params["firstname"]); 
lastname = unescape(params["lastname"]); 
age = unescape(params["age"]); 
document.write("firstname = " + firstname + "<br>"); 
document.write("lastname = " + lastname + "<br>"); 
document.write("age = " + age + "<br>"); 
</script> 
</html> 
+0

你正在創建'var params'作爲一個'新的Array()',然後用它作爲一個對象。你應該使用'var params = {};' –

+0

這很好,但是在第二頁他們不是文本框?我需要將它從page1移動到page2,以便我可以將它保存到第2頁的數據庫中? – user3403327

0

這取決於您想要將多少努力和工作放到您的項目中。

一個簡單但不安全的解決方案可以通過querystrings。您可以通過HTTP-GET任何參數從A傳遞到B.

因此,它提供了als明文,很明顯,這種方法不是很安全。任何人都可以在任何時候改變輸入。結果取決於攻擊者的惡意潛力。在這裏尋找對Cross Site Scripting (XSS)的簡單介紹。

另一種可能性是通過HTTP-PostSee Specification)。

然後它取決於您使用的是哪個後端。後端從A接收數據並將其呈現給B.

相關問題