0

我正在使用 jQuery 创建用户需要的输入文本框,如下所示:

<script type="text/javascript">
$(document).ready(function() {
$('#names').on({
    blur: function() {
        var name = $("<p><input class='input' type='text' /></p>")
        var nullFields = 0;
        $(this).closest('div#names').find('input.input').each(function(){
            if($(this).val() == ""){
                nullFields++;
            }
        });
        console.log(nullFields);
        if(nullFields <= 1){
         $('#names').append(name.fadeIn(500));
        }
    }
}, 'input');
 });
</script>

$_POST['blah']使用and将静态文本框插入数据库不是问题mysql_query("INSERT INTO ..."),但是如何插入动态创建的文本框的值?我知道我必须在创建文本框时给它们起不同的名称,并且我认为 MySQL 查询将通过某种循环方式进行。

编辑

有问题的网站在这里,特别是在第 4 步。如上所述,第 3 步非常简单。

4

2 回答 2

1

这是一个帮助您入门的示例,而不是完整的解决方案。您为名称创建一个数组,然后让 php 插入每个数组项

var currentArrayNum = 1;    
$('#someClickable').click(function(){

        $('#td').append('<input name="arrayName['+currentArrayNum+']" value="" />');
        currentArrayNum += 1;
    });

php:

foreach ($_POST as $key){
        if (is_array($key)){
                foreach ($key as $key2 => $value){
                //$key2 will equal arrayName[currentArrayNum]
               //$value will equal the user input for the text field
do some stuff
}
于 2012-06-12T20:29:36.573 回答
0

您可以使用名称创建数组,只需尝试以下操作:

<input type="text" name="post_input[input_1]" value="">
<input type="text" name="post_input[input_2]" value="">

提交后,您将从 $_POST["post_input"] 中获得一个数组,其中包含键 input_1 和 input_2 及其分配的值。然后你只需将它们作为普通数组循环,例如

$aTextFields = $_POST["post_input"];
foreach( $aTextFields as $sValue ) {
  ...
}
于 2012-06-12T20:38:37.910 回答