あるHTMLファイルから別のHTMLファイルにデータを転送する 質問する

あるHTMLファイルから別のHTMLファイルにデータを転送する 質問する

私は HTML と JavaScript の初心者ですが、HTML ファイルからそこに設定されているものを抽出し、JavaScript を介して別の HTML ファイルに表示しようとしています。

これまでにテストした内容は次のとおりです。
テスト.html

<html>
<head>
   <script language="javascript" type="text/javascript" src="asd.js"></script>
</head>

<body>

<form name="form1" action="next.html" method="get">
name:<input type ="text" id="name" name="n">
<input type="submit" value="next" >
<button type="button" id="print" onClick="testJS()"> Print </button>
</form>

</body>
</html>

次へ

<head>
   <script language="javascript" type="text/javascript" src="asd.js"></script>
</head>

<body>

<form name="form1" action="next.html" method="get">
<table>
    <tr>
        <td id="here">test</td>
    </tr>
</table>
</form>

</body>
</html>

asd.js

function testJS()
{

var b = document.getElementById('name').value

document.getElementById('here').innerHTML = b;

}

test.html-> ads.js(test.html から値を抽出し、next.html に設定します) ->next.html

ベストアンサー1

次のコードを試してください:

testing.html内

<script>
function testJS() {
    var b = document.getElementById('name').value,
        url = 'http://path_to_your_html_files/next.html?name=' + encodeURIComponent(b);
    
    document.location.href = url;
}
</script>

そして next.html では:

<script>
window.onload = function () {
    var url = document.location.href,
        params = url.split('?')[1].split('&'),
        data = {}, tmp;
    for (var i = 0, l = params.length; i < l; i++) {
         tmp = params[i].split('=');
         data[tmp[0]] = tmp[1];
    }
    document.getElementById('here').innerHTML = data.name;
}
</script>   

説明: JavaScript には、異なるページ間でデータを共有するための特別な機能はありません。ただし、URL パラメータ (私のコードではこのアプローチを使用しました)、Cookie、localStorage などを使用するなど、これを実現する代替方法がいくつかあります。

まず、testing.html で、URL に名前パラメータ (?name=...) を保存します。次に、next.html のスクリプトで URL を解析し、前のページからすべてのパラメータを取得します。

追伸:私は英語を母国語としないのですが、必要であれば私のメッセージを訂正していただけますか。

おすすめ記事