0

ユーザーが 3 つの数字を順番に表示した後、フォーム フィールドを含む php ページにユーザーをリダイレクトしたいと考えています。処理と保存のために、インデックス配列をphp配列にも渡したいと思います。

これまでのコードは次のとおりです。

<!DOCTYPE html>

<html>
<head>
    <meta charset="UTF-8">
    <meta name="keywords" content="">
    <meta name="description" content="">

    <title>Digit Span Backward</title>
    <script src="jquery.min.js" type="text/javascript">
</script>
</head>

<body>
    <p>Digit Span Backward - Javascript edition</p>
    <script type="text/javascript" language="javascript">

        function randomize(number)
        {
            var index = [];

            for (var i = 0; i < number; i++)
            {
                index.push(Math.floor(Math.random()*10));
            }

            return index;
        }

        function showMessage(message)
        {
            $('p').html(message);
        }   

        var i = 0;

        function shuffle(list, i)
        {
            if (!(i >= 0)) 
            {
                i = 0;
            }

            setTimeout((function(msg)
            {
                i++;
                return function()
                {
                    if(i < list.length)
                    {
                        shuffle(list, i);
                    }

                    showMessage(msg);
                }
            })(list[i]), 1000);
        }

    </script>

    <form>
        <input type="button" onclick="shuffle(randomize(3))" value="Start Digit Span Backward">
    </form>
</body>
</html>

何か案は?

4

1 に答える 1

0

私は HTML 5 のオタクでも PHP の専門家でもありませんが、ここに私の提案があります

ページに隠しフィールドを配置し、配列の結合メソッドを使用して、それを任意の選択スプリッターによって分割された文字列に変換し、それを隠しフィールド値に設定して次のページに渡すことを提案できますか?それは名前です

JavaScript 関数の例

function ArrayToStringSplitted(ary,splitter,hiddenfield)
{
    var aryString= ary.join(spliter);
    hiddenfield.value = aryString ; 
}

HTMLは非表示フィールドをページに追加するだけです

<input type='hidden' id="hdfld" name="hdfld" />

これは、通常の JavaScript リダイレクト window.location = path では機能しないと思います。これは、フォーム属性のアクションを php ページの場所と投稿するメソッドに設定することで機能すると思います。

phpページで、$hiddenfield名でhiddenfield値をキャッチし、同じスプリッターで分割して、再び配列に返すことができます

よろしく

于 2011-11-14T08:22:19.537 に答える