1

form.htmlとconfirm.htmlの2つのhtmlファイルがあるとします。

form.htmlには、テキストフィールドと送信ボタンがあります。送信を押すと、テキストフィールドに入力した内容が表示されます。

    <HTML>
      <HEAD>
        <TITLE>Test</TITLE>
        <script type="text/javascript"> 

        function display(){ 
            document.write("You entered: " + document.myform.data.value);
        } 
        </script> 
      </HEAD>
      <BODY>
      <center>    
<form name="myform">

  <input  type="text" name="data">
  <input type="submit" value="Submit" onClick="display()">

</form>
    </BODY>
    </HTML>

ここで、送信ボタンを押すと、confirm.htmlに入力された値が表示されるようにします。私は何をすべきか?これは、confirm.htmlに何を含めるべきか、form.htmlのデータを他の場所でどのように使用するかを意味します。JS関数を保存するために別のJavaScriptファイルを作成して、2つのhtmlファイルの両方で使用できるようにする必要がありますか。私はあらゆる種類のものに少し慣れていません。

注:ここにはPHPやサーバー側の言語などはありません。デスクトップに2つのhtmlファイルがあり、FireFoxを使用してテストしたいと思います。

ありがとうございました!

4

4 に答える 4

4

localStorageまたはを使用してみてくださいcookies。以下にある2つの解決策のいずれかを確認してください...

1- HTML5を使用している場合は、コンテンツをに保存できinputますlocalStorage

この例を試してください:

form.html

<html>
<head>
    <title>Test</title>
    <script type="text/javascript">

        // Called on form's `onsubmit`
        function tosubmit() {
            // Getting the value of your text input
            var mytext = document.getElementById("mytext").value;

            // Storing the value above into localStorage
            localStorage.setItem("mytext", mytext);

            return true;
        }

    </script> 
</head>
<body>
    <center>   
        <!-- INLCUDING `ONSUBMIT` EVENT + ACTION URL --> 
        <form name="myform" onsubmit="tosubmit();" action="confirm.html">

            <input  id="mytext" type="text" name="data">
            <input type="submit" value="Submit">

        </form>
</body>
</html>


confirm.html

<html>
<head>
<script>

    // Called on body's `onload` event
    function init() {
        // Retrieving the text input's value which was stored into localStorage
        var mytext = localStorage.getItem("mytext");

        // Writing the value in the document
        document.write("passed value = "+mytext);
    }

</script>
</head>    

<body onload="init();">

</body>

</html>

2-また、@ apprenticeが述べたように、HTML標準でCookieを使用することもできます。

この例を試してください:

form.html

<html>
<head>
    <title>Test</title>
    <script type="text/javascript">
        // Function for storing to cookie
        function setCookie(c_name,value,exdays)
        {
            var exdate=new Date();
            exdate.setDate(exdate.getDate() + exdays);
            var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
            document.cookie=c_name + "=" + c_value;
        }

        // Called on form's `onsubmit`
        function tosubmit() {
            // Getting the value of your text input
            var mytext = document.getElementById("mytext").value;

            // Storing the value above into a cookie
            setCookie("mytext", mytext, 300);

            return true;
        }

    </script> 
</head>
<body>
    <center>   
        <!-- INLCUDING `ONSUBMIT` EVENT + ACTION URL --> 
        <form name="myform" onsubmit="tosubmit();" action="confirm.html">

            <input  id="mytext" type="text" name="data">
            <input type="submit" value="Submit">

        </form>
</body>
</html>


confirm.html

<html>
<head>
<script>

    // Function for retrieveing value from a cookie
    function getCookie(c_name)
    {
        var i,x,y,ARRcookies=document.cookie.split(";");
        for (i=0;i<ARRcookies.length;i++)
        {
            x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
            y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
            x=x.replace(/^\s+|\s+$/g,"");
            if (x==c_name)
            {
                return unescape(y);
            }
        }
    }

    // Called on body's `onload` event
    function init() {
        // Retrieving the text input's value which was stored into a cookie
        var mytext = getCookie("mytext");

        // Writing the value in the document
        document.write("passed value = "+mytext);
    }

</script>
</head>    

<body onload="init();">

</body>

</html>
于 2012-10-15T00:27:54.313 に答える
2

あなたができることは、getメソッド(method="get")を使用してフォームを送信し、それをconfirm.htmlページ(action="./confirm.html")に送信することです。

次に、jQueryを使用して、ページのURLから値を取得できconfirm.htmlます。

このWebサイトは、そのための方法を提供します:http: //jquerybyexample.blogspot.com/2012/06/get-url-parameters-using-jquery.html

次に、display()メソッドを呼び出すだけです。

于 2012-10-15T00:28:51.170 に答える
0

ユーザーのブラウザでデータを保存およびロードできるpersist.jsに適したシーム。javascriptファイルを含めた後、次のようにデータを保存できます。

var store = new Persist.Store('My Application');
store.set('some_key', 'this is a bunch of persistent data');

そして、後で次のような別のhtmlページに保存されたデータを取得できます。

var store = new Persist.Store('My Application');
val = store.get('some_key');
于 2012-10-15T00:34:54.023 に答える
0

ページを変更する代わりに、ページのコンテンツを変更することもできます。送信時に、innerHtml変数を使用してページを変更するだけです。

于 2012-10-15T05:01:47.373 に答える