如何遍历动态(jQuery)生成的texareas数组并将值发布到同一页面?

时间:2012-04-16 07:46:54

标签: php jquery

我正在用jQuery生成一些textareas。我想通过页面上的POST方法检索所有填写的textareas的值(它是一种概念证明,快速和脏,我不会这样做),但是当我点击提交时,我得到了值只有一个,以最后发布的textarea值为准。我想我可以用一个数组和一个foreach循环来做这个,但我不确定如何做到这一点,因为jQuery / on-page因素的所有增加都是这项努力的复杂因素。我还想象它可能与所有生成的具有相同名称的textareas有关...任何人?

这是代码 -

    <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>

谢谢!

2 个答案:

答案 0 :(得分:0)

在您的textarea名称中使用textForm[]而不是textForm

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

之后,所有“textForm”textareas都将在$_POST['textForm']数组中。

答案 1 :(得分: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对象现在是一个数组。