javascript - 如何提交动态生成的表单之一(由php生成)

标签 javascript php jquery html forms

PHP 代码

echo '
  <div class = "card locations userNameContainer">
    <div class = "row" style = "padding: 0 !important;">
      <div class = "userName col s5" style = "display: inline-block;">
        '.$name.'
      </div>    

      <form class = "setPrivilegeForm col s6" id = "setPrivilegeForm">
        <input type="hidden" value='.$userID.' name="userID" > </input> 
        <select name="userType" id = "userType" class = "customSelect" onchange = "ajaxPrivilegeSubmit()">                          
          <option value="" disabled selected class = "grey-text">'.$typeText.'</option>
          <option value="1">Administrator</option>
          <option value="2" >Operator</option>
          <option value="3">Patron</option>                          
        </select>
      </form>

      <i class = "material-icons col s1">delete</i>
    </div>
  </div>

';


生成的表单列表的预览图像: preview

脚本:

function ajaxPrivilegeSubmit(){
  $.ajax({
      type: "post",
      url: "setPrivilegeForm.php",
      data: $('#setPrivilegeForm').serialize(),

      success: function(data){

        $(".userNameList").html();
        Materialize.toast('Hello', 4000);

      }
  });

  //$('this').closest('.setPrivilegeForm').submit();
}

表单中存在的下拉列表的值发生更改时,我希望能够提交表单(每个列表项都是一个表单),但是,目前仅提交第一个表单,而不是提交选择下拉列表的表单(是的,我知道原因)。

有人可以指导我如何使用一些唯一标识符来帮助提交 <select> 的表单吗?值改变了吗?

最佳答案

为您的表单指定一个 ID,例如“setPrivilegeForm_1”,然后选择 ID“1”。在下一个“setPrivilegeForm_2”和“2”等上,将 onchange 函数更改为 ajaxPrivilegeSubmit(this.id) 并将实际函数更改为

function ajaxPrivilegeSubmit(num){
  $.ajax({
  type: "post",
  url: "setPrivilegeForm.php",
  data: $('#setPrivilegeForm_'+num).serialize(),

  success: function(data){
     $(".userNameList").html();
     Materialize.toast('Hello', 4000);
   }
 });

 //$('this').closest('.setPrivilegeForm_'+num).submit();
}

关于javascript - 如何提交动态生成的表单之一(由php生成),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38803900/

相关文章:

javascript - 根据容器 div 在浏览器窗口中的位置移动绝对定位的图像

javascript - 样式化 jQuery 移动复选框

javascript - 为什么 "current in mailArchive"应该成为关闭的条件?

php - 在重构的 php 代码中停止执行?

php - 如果 onclick 验证失败则停止脚本

javascript - 测试 .each() 内部并突破

javascript - 如何验证 API 调用中参数的存在

javascript - 使用 JQuery 或 CSS3 Transitions(或两者)操作内联文本

php - 在 Codeigniter 中 hook 的目的是什么?我们为什么要创造?

Javascript 菜单不工作 Firefox