【问题标题】:is there any other way to submit my dynamically added input fields?还有其他方法可以提交我动态添加的输入字段吗?
【发布时间】:2020-12-13 18:29:38
【问题描述】:

我尝试动态创建表单输入字段,我成功了,但是当所有其他字段都被提交时,只有动态创建的字段不是请帮忙..谢谢..

我的 javascript 工作正常,它在模态中创建文件就好了.. 问题是当我提交它时,只有动态添加的字段没有提交..

<form action='<?php echo $_SERVER['PHP_SELF'];?>' method="post"> 
 
 <div class="col-md-6">
     <div class="form-group">
      <h6> Contact person in case of emergency</h6
      <input class="form-control" placeholder="Contact person" required=""  pattern="([A-Z][a-z]*\s*[A-Z]*[a-z]*\s*[0-9]*)" title="Alphbetical characters only, capitalize first letter, full name then phone number" value="<?php echo $info[0]['contactperson'];?>" name="contactperson" type="text">
     </div>
    </div>
    
      
       
    
    <input class="form-control" hidden placeholder="familymembers"  id="fm" value="<?php echo $info[0]['familymembers'];?>"  name="familymembers" type="number">
        
      <div class="col-md-6">
        <div class="form-group">
            <h6>&nbsp;</h6>
              <a href="" data-toggle="modal" data-target="#seefmlist"><button class="btn btn-success">Edit Family Members List</button></a>
          </div>
        </div>
    
    //this is a script to add new input fields daynamically
    
    
     
    
    <script type="text/javascript">
          function getfmembers(){
          var fn=document.getElementById('fm').value;
             
          for (var i = 0; i < 1; i++) {
          document.getElementById('fm').value++;
          k=document.getElementById('fm').value;
         var btn='<div class="form-group"><input class="form-control" name="fmlis" placeholder="Name of the family member" id="'+k+'"  type="text"></div>';
    
             $("#after").after(btn);
             alert(document.getElementById(k).name);
    
             } 
              }
     function removefmembers(){
       var fn=document.getElementById('fm').value;
    
          $("input").remove("#"+fn); 
           document.getElementById('fm').value--;
        }
    
        </script>
    // this is the modal to submit the inputs and its inside the form tag
    <div class="modal fade" id="seefmlist" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">
          <div class="modal-header">
            <h5 class="modal-title" id="exampleModalLabel">Edit Family Members List</h5>
            <button type="button" class="close" data-dismiss="modal" aria-label="Close">
              <span aria-hidden="true">&times;</span>
            </button>
          </div>
          <div class="modal-body">
            <div class="row">
              <div class="col-md-3">
                <span onclick="getfmembers()" class="btn btn-sm btn-success">Add Member</span>
              </div>
              <div class="col-md-3">
                  <span onclick="removefmembers()" class="btn btn-sm btn-danger">Delete Last Member</span>
              </div>
            </div>
            <br>
        
            <div id="after">
            <?php
     $flist=explode(",",$info[0]['familylist']);
      if (count($flist)>1) {
      for ($qq=0; $qq < count($flist)-1 ; $qq++) { 
        echo '<div class="form-group"><input class="form-control" id="'.($qq+1).'"  value="'.$flist[$qq+1].'"  name="fmlist'.($qq+1).'" type="text"></div>';
                           
                            }
                            }
    
    
              ?>
    
         
              </div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            <button type="button" class="btn btn-primary">Update changes</button>
          </div>
        </div>
      </div>
    </div>
     
    </div>
    
    <div class="text-center">
                      <button type="submit" name='submitupdate' class="btn btn-primary mt-4">Update Employee information</button>
                    </div>
                 
                  </form>

【问题讨论】:

  • 您上面的 HTML 无效。您未能正确关闭第一个 h6 标记 (&lt;h6&gt; Contact person in case of emergency&lt;/h6) 并且打开/关闭 DIV 标记的数量不平衡

标签: php submission


【解决方案1】:

第 31 行: for (var i = 0; i &lt; 1; i++) { 只运行一次,如果你想让这个添加不止一个,你需要修复

还有可能是你被挂断的问题 第 34 行:name="fmlis" 稍后在您的代码中您有 name="fmlist'.($qq+1).' 因此,在第 34 行您可能希望将 k+1 连接到名称...

【讨论】:

    猜你喜欢
    • 2021-05-21
    • 2020-02-10
    • 2015-01-02
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多