仅使用PHP动态地向表单添加输入元素

时间:2014-01-24 11:05:13

标签: php html forms

  1. 我想仅使用PHP动态地向表单添加一个输入元素。

    我知道如何使用php和JavaScript组合来实现这一点,因此不需要建议使用JavaScript。

    以下示例不起作用。能否请您提出意见和建议:

    input.php

    <br> <input type="text" name="mob[]"  value="" size="3" > 
    

    form.php的

    <?php
    if( isset($_POST['AddNum']) ){
        $AddNumCount=$_POST['AddNumCount'];
        $AddNumCount=$AddNumCount+1;
        echo $AddNumCount;
    }
    if( isset($_POST['register']) ){
        print_r($_POST['register']);
    }
    if (!isset($AddNumCount)) {$AddNumCount=5;}
    ?>
    
    
    <form action="" method="post" id="form1"   action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"  >
    
    <br>
    <?php  for ($i=0; $i<$AddNumCount; $i++) { Include('input.php'); } ?>
    
    <br> Add number: <input type="submit" name="AddNum" form="form1" value="Add NUmber"> </p>
                     <input type="hidden" name="AddNumCount" form="form1" value="  <?php $AddNumCount; ?>  "> </p>
    
    <br></form><input type="submit" name="register" id="regcont" value="register"> </p>
    </form>
    
  2. 也许您知道如何为多种表单制作单个提交按钮? 我的意思是每个输入都是一个单独的表格,所有表格都可以用最后一个按钮提交?

2 个答案:

答案 0 :(得分:0)

你使用两个action个attrs。也许你的意思是:

<form method="post" id="form1" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"  >

要通过一个按钮提交多个表单,您需要使用JavaScript并通过AJAX循环发送。

答案 1 :(得分:0)

对不起,我改变了这篇文章。这是动态PHP的工作示例。 使用EXform.php。生成或帮助其他文件。 也许也可以使用Session变量和标题来重定向到重新生成的网页。

<强> EXform.php

    

<?php if (isset( $_POST['AddNum'])) { Include("GENinput.php"); } ?>
<?php if (!isset( $_POST['AddNumCount'])) { $_POST['AddNumCount']=1; Include("GENinput.php"); } ?>


<form action="" method="post" id="form1"   action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"  >

<?php Include("INCinput.php"); ?>

<br> Add number: <input type="submit" name="AddNum" form="form1" value="Add NUmber"> </p>
                 <input type="hidden" name="AddNumCount" form="form1" value="<?php echo $AddNumCount; ?>"> </p>

<input type="submit" name="register" id="regcont" value="register"> </p>
<br></form>
</form>

GENinput.php //生成包含文件

<?php

if( isset($_POST['AddNum']) ){
    $AddNumCount=$_POST['AddNumCount']; //=
    $fnameinp="INCinput.php";
  $fileinp=fopen($fnameinp,"w");
    $_POST['AddNumCount']=$AddNumCount=$AddNumCount+1;  

    //echo "AddNumCount=".$AddNumCount;

        $strV=""; $stri="";
    for ($i=0; $i<$AddNumCount; $i++) { 
    $strV.=" \n  
        <?php 
        if( isset(\$_POST['v']['tname']['colname'][".$i."])  )
           { \$v['tname']['colname'][".$i."]=\$_POST['v']['tname']['colname'][".$i."];}
        else { \$v['tname']['colname'][".$i."]=".$i."; } 
        ?>
        ";

        $stri.=" <br> <input type=\"text\" name=\"v[tname][colname][".$i."]\"  value=\"<?php echo \$v['tname']['colname'][".$i."]; ?>\" > \n\n";

    }

    fwrite($fileinp,$strV); 
    fwrite($fileinp,$stri);
    fclose($fileinp);
}