1

jQueryを使用して多数のテキストエリアを生成しています。ページ上の POST メソッドを使用して、入力されたすべてのテキストエリアの値を取得したいのですが (これは一種の概念実証であり、迅速で汚れています。通常はこれを行いません)、送信を押すと、最後に投稿された textarea の値は 1 つだけです。配列と foreach ループを使用してこれを行うことができると思いますが、jQuery/ページ上の要因のすべての追加がこの試みで複雑になることを考えると、その方法はわかりません。また、生成されたすべてのテキストエリアが同じ名前を持つことに関係があるのではないかと思います...誰か?

これがコードです-

    <script type="text/javascript">
        $(document).ready(function() {

            $('.textadder').click(function(){
            $("form").append("<p class='introText2'>Enter More Text</p><textarea rows='5' cols='20' name='textForm' class='formText2'></textarea>");
        });



    });/*document ready*/

</script>

<?php

if (isset($_POST['textForm']))
{
$formTxt = $_POST['textForm'];
        echo $formTxt;
}
?>
</head>

<body>


<div id="wrapper">
    <div id="submittedHolder"></div>
    <div class="formBox">
        <form method="post" action="">
            <p class="introText">Please Enter Some Text</p>
            <textarea rows="5" cols="20" name="textForm" class="formText"></textarea>
            <input type="submit" class="submitter" value="Submit">
        </form>

        <div class="textadder"><p>More Text</p></div>
        <div class="clearer"></div>
    </div><!--formBox-->
</div><!--wrapper-->


</body>

</html>

ありがとう!

4

2 に答える 2

0

textForm[]代わりにテキストエリア名で使用してくださいtextForm

<textarea rows="5" cols="20" name="textForm[]" class="formText"></textarea>

その後、すべての「textForm」テキスト領域が$_POST['textForm']配列になります。

于 2012-04-16T07:50:13.643 に答える
0
<script type="text/javascript">
        $(document).ready(function() {

            $('.textadder').click(function(){
            $("form").append("<p class='introText2'>Enter More Text</p><textarea rows='5' cols='20' name='textForm[]' class='formText2'></textarea>");
        });



    });/*document ready*/

</script>

<?php

if (isset($_POST['textForm']))
{
$formTxt = $_POST['textForm'];
        foreach($formTxt as $txt){
          echo $txt;
    }

}
?>
</head>

<body>


<div id="wrapper">
    <div id="submittedHolder"></div>
    <div class="formBox">
        <form method="post" action="">
            <p class="introText">Please Enter Some Text</p>
            <textarea rows="5" cols="20" name="textForm[]" class="formText"></textarea>
            <input type="submit" class="submitter" value="Submit">
        </form>

        <div class="textadder"><p>More Text</p></div>
        <div class="clearer"></div>
    </div><!--formBox-->
</div><!--wrapper-->


</body>

</html>

ここで配列を使用します。これで、postオブジェクトは配列になります。

于 2012-04-16T07:51:40.253 に答える