Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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
Php 使用javascript获取最后添加的字段数_Php_Javascript_Jquery_Html - Fatal编程技术网

Php 使用javascript获取最后添加的字段数

Php 使用javascript获取最后添加的字段数,php,javascript,jquery,html,Php,Javascript,Jquery,Html,我制作了一个表单,您可以通过单击按钮添加更多字段。每次你点击一个按钮,它就会生成一个后面有更高数字的新字段。我用jquery来实现这一点,我需要用php来获得最大的数字。 因此,如果我有auto_part1和auto_part2,我需要用PHP得到2 这是我的html: <div id="parts"> Part <input type="text" id="auto_part" name="auto_part" /> &l

我制作了一个表单,您可以通过单击按钮添加更多字段。每次你点击一个按钮,它就会生成一个后面有更高数字的新字段。我用jquery来实现这一点,我需要用php来获得最大的数字。 因此,如果我有auto_part1和auto_part2,我需要用PHP得到2

这是我的html:

<div id="parts">
    Part
    <input type="text" id="auto_part" name="auto_part" />
                <br />
    Description
    <input type="text" id="auto_description" name="auto_description" />
                <br />
</div>
    <a href="#" id="addField">Add another part</a>

部分

描述
jQuery函数:

$(function() {
var scntDiv = $('#parts');
var i = $('#parts input').size() + -1;

$('#addField').on('click', function() {
    $('<br /><span>Part</span> <input type="text" id="auto_part'+i+'" name="auto_part'+i+'" /><br />').appendTo(scntDiv);
    $('<span>Description</span> <input type="text" id="auto_description'+i+'" name="auto_description'+i+'" /> <br />').appendTo(scntDiv);
    i++;
    return false;
});

$('#remScnt').on('click', function() { 
    if( i > 2 ) {
            $(this).parents('p').remove();
            i--;
    }
    return false;
});
});
$(函数(){
var scntDiv=$(“#部分”);
变量i=$(“#零件输入”).size()+-1;
$('#addField')。在('click',function()上{
$(“
部分
”)。附录(scntDiv); $('Description
')。附录(scntDiv); i++; 返回false; }); $('#remScnt')。在('click',function(){ 如果(i>2){ $(this.parents('p').remove(); 我--; } 返回false; }); });
如果我没有错,请也使用堆栈溢出搜索

在这里你可以找到一条路


如果我没有错,请也使用堆栈溢出搜索

在这里你可以找到一条路


这可能是最终提交的表单吗?如果是这样的话,那么让一个隐藏字段在每次添加新零件字段时递增如何。然后,当它被发送时,PHP就可以抓取它。

假设这是一个最终被提交的表单?如果是这样的话,那么让一个隐藏字段在每次添加新零件字段时递增如何。然后,当它被发送时,PHP可以抓取它。

创建一个隐藏的输入字段:

<input type="hidden" id="row_count" name="row_count" value="">

创建隐藏的输入字段:

<input type="hidden" id="row_count" name="row_count" value="">
添加一个隐藏字段(
),使用递增/递减函数(
$('added_counter')).val(i);
),然后在处理表单提交期间使用PHP获取隐藏字段的值

HTML:


部分

描述
jQuery:

$(function() {
    var scntDiv = $('#parts');
    var i = $('#parts input').size() + -1;

    $('#addField').on('click', function() {
        $('<br /><span>Part</span> <input type="text" id="auto_part'+i+'" name="auto_part'+i+'" /><br />').appendTo(scntDiv);
        $('<span>Description</span> <input type="text" id="auto_description'+i+'" name="auto_description'+i+'" /> <br />').appendTo(scntDiv);
        i++;
        $('added_counter').val(i);
        return false;
    });

    $('#remScnt').on('click', function() { 
        if( i > 2 ) {
                $(this).parents('p').remove();
                i--;
        }
        $('added_counter').val(i);
        return false;
    });
});
$(函数(){
var scntDiv=$(“#部分”);
变量i=$(“#零件输入”).size()+-1;
$('#addField')。在('click',function()上{
$(“
部分
”)。附录(scntDiv); $('Description
')。附录(scntDiv); i++; $('added_counter').val(i); 返回false; }); $('#remScnt')。在('click',function(){ 如果(i>2){ $(this.parents('p').remove(); 我--; } $('added_counter').val(i); 返回false; }); });
然后,当您将表单提交给PHP时,PHP可以获取新添加的计数器隐藏字段的值。

添加一个隐藏字段(
),使用递增/递减函数(
$('added_counter').val(i);
)维护其值,然后在处理表单提交期间使用PHP获取隐藏字段的值

HTML:


部分

描述
jQuery:

$(function() {
    var scntDiv = $('#parts');
    var i = $('#parts input').size() + -1;

    $('#addField').on('click', function() {
        $('<br /><span>Part</span> <input type="text" id="auto_part'+i+'" name="auto_part'+i+'" /><br />').appendTo(scntDiv);
        $('<span>Description</span> <input type="text" id="auto_description'+i+'" name="auto_description'+i+'" /> <br />').appendTo(scntDiv);
        i++;
        $('added_counter').val(i);
        return false;
    });

    $('#remScnt').on('click', function() { 
        if( i > 2 ) {
                $(this).parents('p').remove();
                i--;
        }
        $('added_counter').val(i);
        return false;
    });
});
$(函数(){
var scntDiv=$(“#部分”);
变量i=$(“#零件输入”).size()+-1;
$('#addField')。在('click',function()上{
$(“
部分
”)。附录(scntDiv); $('Description
')。附录(scntDiv); i++; $('added_counter').val(i); 返回false; }); $('#remScnt')。在('click',function(){ 如果(i>2){ $(this.parents('p').remove(); 我--; } $('added_counter').val(i); 返回false; }); });

然后,当您将表单提交给PHP时,PHP可以获得新添加的\u计数器隐藏字段的值。

计算发布值的数量以获得最大值。我将数据作为数组发布,但您不必这样做

$('<br /><span>Part</span> <input type="text" id="auto_part'+i+'" name="parts['+i+'][name]" /><br />').appendTo(scntDiv);
$('<span>Description</span> <input type="text" id="auto_description'+i+'" name="parts['+i+'][description]" /> <br />').appendTo(scntDiv);


$parts=isset($_POST['parts'])?$_POST['parts']:array();
$highest_number=count($parts);
$(“
部分
”).appendTo(scntDiv); $('Description
')。附录(scntDiv); $parts=isset($_POST['parts'])?$_POST['parts']:数组(); $highest_number=计数($parts);
计算发布值的数量,以获得最大值。我将数据作为数组发布,但您不必这样做

$('<br /><span>Part</span> <input type="text" id="auto_part'+i+'" name="parts['+i+'][name]" /><br />').appendTo(scntDiv);
$('<span>Description</span> <input type="text" id="auto_description'+i+'" name="parts['+i+'][description]" /> <br />').appendTo(scntDiv);


$parts=isset($_POST['parts'])?$_POST['parts']:array();
$highest_number=count($parts);
$(“
部分
”).appendTo(scntDiv); $('Description
')。附录(scntDiv); $parts=isset($_POST['parts'])?$_POST['parts']:数组(); $highest_number=计数($parts);
如果您更改了添加的输入字段的命名方式,该怎么办。而不是使用: 汽车零件+i 使用 自动零件[]


与自动描述相同,将其命名为自动描述[]。这样,php就会将它们视为数组,您所需要做的就是迭代数组。这对您有用吗?

如果您更改了添加的输入字段的命名方式,该怎么办。而不是使用: 汽车零件+i 使用 自动零件[]

与自动描述相同,将其命名为自动描述[]。这样,php就会将它们视为数组,您所需要做的就是迭代数组。这对您有用吗?

在html表单中添加:

<input type="hidden" id="count" value="0"/>
然后,您可以将在php中查找的值作为字段计数的值。

在html表单中添加:

<input type="hidden" id="count" value="0"/>

然后,您可以将在php中查找的值作为字段计数的值。

您可以更具体地说明您需要什么吗?除非使用AJAX@Sedz:为什么不呢?他可以将值设置为隐藏字段,然后将表单提交给PHP。@JeromyFrench我的评论是关于发送id的,但请确保您可以将隐藏字段作为值而不是id发送,很抱歉inconvenience@Sedz:别担心!只是不想把可怜的Sinan搞糊涂…你能更具体地说明你需要什么吗?除非你使用AJAX@Sedz:为什么不呢?他可以将值设置为隐藏字段,然后将表单提交给PHP。@JeromyFrench我的评论是关于发送id的,但请确保您可以将隐藏字段作为值而不是id发送,很抱歉inconvenience@Sedz:别担心!只是不想把可怜的Sinan搞糊涂……我想如果我想把它传递给PHP,我还是要使用Ajax,对吗?如果你想在