0

私はすべてクライアント側のjsとhtmlを使用しています。次の状況があります...いくつかの入力と送信ボタンを含むhtmlフォーム(index.html内)があります。それとは別に、フォームには、他のhtmlフォームを含む別のページ(other.html)を参照するiframeタグが含まれています。物事はother.htmlと呼ばれるこの他のページにあります私はいくつかの情報を保存するフォームタグ内にテキスト入力(name = "info")を持っています。

ここで私がやりたいのは、この情報の入力値をindex.htmlの形式で送信することです。

index.htmlの例:

<html>
    <body>
        <form method="post" action="aphpfile.php">
            <input type="text" name="a"/>
            <input type="text" name="b"/>
            <input type="text" name="c"/>
            <iframe id="other1" width="408" height="200" frameborder="0" 
                scrolling="no" marginheight="0" 
                marginwidth="0" src="other.html"></iframe>
            <input type="submit" value="submit"/>
        </form>
    </body>
</html>

other.htmlの例:

<html>
    <script type="text/javascript">
        function setInfo() {
            document.getElementById("info").value = "this is the info";
        }
    </script>
    <body>
        <form>
            <input type="text" id="info" name="info"/>
        </form>
        <input type="button" onclick="setInfo();" value="setInfo"/>
    </body>
</html>

したがって、aphpfile.phpからこれを実行したいと思います。

$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$info = $_POST['info'];
echo $a . "," . $b . "," . $c . "," . $info;

ご協力ありがとうございました。

4

1 に答える 1

0

多くの iframe で解決済み。次のコードは、aphpfile.php へのフォームが送信されたときに呼び出される関数内に記述されています。誰かがこれが役立つことを願っています:)

var iframe = document.getElementById('other1');
        var innerDoc;
        var data;
        var name;
        var htmlData="";
        var i=1;
        while(iframe != null)
        {
            innerDoc = iframe.contentDocument || iframe.contentWindow.document;
            data=innerDoc.getElementById("info").value;
            name="info"+i;
            htmlData+="<input type='hidden' name='"+name+"' value='"+data+"'/>";
            i++;
            iframe = document.getElementById('other'+i);
        }
        document.getElementById("hiddens").innerHTML=htmlData;

そして、あるのは

<div id="hiddens"></div>

index.html のフォーム内

于 2013-03-02T02:45:49.930 に答える