Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery添加的php恢复输入_Php_Javascript_Jquery_Post_Dynamic - Fatal编程技术网

使用jquery添加的php恢复输入

使用jquery添加的php恢复输入,php,javascript,jquery,post,dynamic,Php,Javascript,Jquery,Post,Dynamic,我用jQuery做了一个小表单,当点击一个按钮时,它会添加一个带有名称的新输入 我添加到页面的jQuery: <script> $(document).ready(function() { var i = 2; $("span").click(function() { $("#add").before("<tr><td>Name</td><td><input type='text' name='na

我用jQuery做了一个小表单,当点击一个按钮时,它会添加一个带有名称的新输入

我添加到页面的jQuery:

<script>
$(document).ready(function() {
    var i = 2;
    $("span").click(function() {
        $("#add").before("<tr><td>Name</td><td><input type='text' name='name-"+i+"' /></td></tr>");
        $("#numper").val(i);
        i++;
    });
});
如果你能帮我解决这个问题,我将非常感激


谢谢

我只想用一种不同的方式处理您的需求,命名所有输入,以便PHP将它们作为一个数组来读取,如下所示:

<input name="name[]" ..... />

在Javascript中,变量i=2。因此,您的第一个输入将有一个名称“name-2”

在PHP中,有一个变量为$i=1的for循环。因此,它将尝试获取$u POST['name-1']


因此,对于未定义,它将给出错误。

对于jquery部分,您可以编写以下代码

for($i = 1; $i <= $_POST['numper']; $i++) {
echo $_POST['name-'.$i];}
$(document).ready(function(){

$("#btn1").click(function(){
$("p").append("<input name='whatever' type='text' class='whatever'>");
});


});
$(文档).ready(函数(){
$(“#btn1”)。单击(函数(){
$(“p”)。追加(“”);
});
});

如果您需要php部分,请通知我

请检查下面的代码是否对您有帮助

<html>
<head>
    <script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
    <script type='text/javascript'>
    $(document).ready(function() {

        $('#addbutton').click(function() {
            var i = parseInt($('#numper').val()) + 1;
            $('#table').prepend("<tr><td>Name</td><td><input type='text' name='name-"+i+"' /></td></tr>");
            $('#numper').val(i);
        });

    });
    </script>
</head>
<body>
    <form method='post' action='<?php echo $PHP_SELF;?>'>
    <table>
        <tr>
            <td>
                <input type='button' id='addbutton' value='Add new input box' />
            </td>
        </tr>
    </table>
    <table id='table'>
        <tr>
            <td>Name</td>
            <td>
                <input type='text' name='name-1' />
            </td>
        </tr>
        <tr>
            <td>
                <input type='hidden' id='numper' name= 'numper' value='1' />
                <input type='submit' value='submit' />
            </td>
        </tr>
    </table>

    </form>
</body>

$(文档).ready(函数(){
$(“#添加按钮”)。单击(函数(){
var i=parseInt($('#numper').val())+1;
$(“#表”)。前缀(“名称”);
$('numper').val(i);
});
});

你是否在使用jquery添加的输入中添加了“name”属性?当然,它就在那里,会编辑帖子问题,忘记在问题中添加它。你能显示html代码吗?完全正确,你需要添加name属性,我以前遇到过这个问题,我解决了这个问题,就像用户Lan说的一样,请发布一篇帖子,这样我们就可以更好地理解你的代码。我知道,我初始化了一个字段“name-1”,这就是为什么我=2它发生了同样的事情,不是说未定义,只是用jquery添加的输入没有出现。最好使用浏览器开发工具(即chrome和firefox中的F12)单击“添加新输入”按钮后查看HTML。这肯定和我经常使用的一样有效,所以要么您的输入是在外部添加的,要么您的javascript没有使用正确的名称。如果在PHP脚本的顶部打印($\u POST),以便查看发送的内容,结果会是什么?我按F12(在chrome中)并在单击“添加”按钮后查看HTML,是的,它添加了名称。另外,我不知道为什么,我注意到表单在添加任何输入之前关闭,但它可以发送第一个静态表单。我添加了一张照片:1-选择并加载将显示表单的页面。2-当点击+角色时,它添加了数千个输入,名称如我所述,我不知道为什么它显示表单关闭,但至少,第一个输入是正确发送的,就像你接受了答案一样,但基本上你的输入在表单之外,所以当表单提交时不会提交。我回答了这个问题,问题是,我不知道,表格里面的表格似乎不起作用,所以我把表格标签放在了表格外面,现在可以了,谢谢!这几乎是一样的,只是我需要“之前”而不是“附加”。输入与它的名称一起添加,但由于某些原因,在提交或接收值时不起作用
<html>
<head>
    <script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
    <script type='text/javascript'>
    $(document).ready(function() {

        $('#addbutton').click(function() {
            var i = parseInt($('#numper').val()) + 1;
            $('#table').prepend("<tr><td>Name</td><td><input type='text' name='name-"+i+"' /></td></tr>");
            $('#numper').val(i);
        });

    });
    </script>
</head>
<body>
    <form method='post' action='<?php echo $PHP_SELF;?>'>
    <table>
        <tr>
            <td>
                <input type='button' id='addbutton' value='Add new input box' />
            </td>
        </tr>
    </table>
    <table id='table'>
        <tr>
            <td>Name</td>
            <td>
                <input type='text' name='name-1' />
            </td>
        </tr>
        <tr>
            <td>
                <input type='hidden' id='numper' name= 'numper' value='1' />
                <input type='submit' value='submit' />
            </td>
        </tr>
    </table>

    </form>
</body>
<?php
for ( $i = 1; $i <= $_POST['numper']; $i++ ) {
    echo $_POST['name-' . $i] . '<br>';
}
?>