0

我是 php 新手。我有一个将生成新元素的 jQuery 脚本。用户单击提交并被带到 page2.php。这就是我需要一个 php 循环来确定用户创建了多少文本输入的地方。

page1.php

<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.min.js'>   </script>
<script type='text/javascript'>
$(document).ready(function() {
    $('#btn').click(function() {
        var x = parseInt($('#hidtxt').val()) + (1*1);
        var z = "<input type='text' id='txt" + x + "' name='txt" + x + "' size='10'/>";
        $('#main').append(z);
        $('#hidtxt').val(x);
    });
});
</script>
</head>
<body>
  <form name='myform' action='page2.php' method='post'/>
    <input type='hidden' value='1' name='hidtxt' id='hidtxt'/>
    <div id='main'>
      <input type='text' id='txt1' name='txt1' size='10'/>
    </div>
    <input type='button' id='btn' name='btn' value='Add Text Box'/>
    <input type='submit' value='Submit' id='subBtn' name='subBtn'/>
  </form>
</body>
</html>

然后page2.php

<?php
    //CREATE LOOP TO POST ALL TEXT INPUTS
    $val1 = $_POST['txt1'];
    $val2 = $_POST['txt2'];
    ....
    ....
    $valx = $_POST['txtx'];


?>
4

3 回答 3

5

将文本框名称作为数组提供,例如

<input type='text' id='txt1' name='txt[]' size='10'/>

然后得到它喜欢

print_r($_POST['txt']);

然后你会得到文本框值的数组。Orelse 你可以使用循环

for($i=0;$i<$cnt;$i++) {        
    $val[$i] = $_POST['txt'][$i];
}

在这里,您需要获取为循环提供的总输入字段的计数。$cnt维护一个具有初始值的隐藏字段,1每当您单击Add text box按钮时,您需要增加它,并且在提交表单后,您可以获得$cnt值隐藏字段中的输入字段数。

于 2013-11-14T04:49:30.287 回答
2

在第一页用 Jquery 计算输入的数量,创建一个隐藏的输入字段,然后将该值放入隐藏的字段中。在下一页阅读使用 PHP 的内容。

于 2013-11-14T04:49:47.863 回答
1

一种方法是在同一个表单内有一个隐藏的文本字段。这将包含已生成的输入元素的数量(可以使用简单的纯 JavaScript)。因此,在第二个 php 页面上,您首先找出生成了多少元素,然后使用 for 循环将它们的值放入一个数组中,您可以根据需要对其进行解析。(用我的手机输入这个,所以无法发布代码示例。但应该很容易。)

于 2013-11-14T04:52:03.473 回答