javascript - 提交时传递表单之外的输入值

标签 javascript jquery

我有一个下拉列表,其中列出了用户列表。因此,当我从列表中选择用户时,会出现一个单选按钮,其中包含选项修改用户详细信息、更改用户权限、警告用户

从单选选项中选择选项后,我加载一个 php 表单

<select id="user_id" name="user_id" class="form-control">
<option value="1">John</option>
<option value="2">Jake</option>
</select>


<input name="change" value="1" type="radio">
<input name="change" value="2" type="radio">
<input name="change" value="3" type="radio">

表单(更改用户名)

<form id="change_name" >
<input name ="username" />
<input value="submit" type="submit">
</form> 

表单(更改权限)

<form id="change_permission" >
<input name ="permission_id" />
<input value="submit" type="submit">
</form>

每个表单都有一个单独的提交处理程序(下面只是一个示例,因为所有表单都有类似的处理程序)

$("#change_name").validate({
       debug: true,
       rules: {
            username: {
                required: true
            },

       },
       messages:{
           //messages     
       },
       submitHandler: function (form) {
            $.ajax({  
              type: 'POST',
              url: 'http://localhost/test/changename.php',
              data: $(this).serialize(),
              success(function(data) {
                if (data){
                    alert("success");
                    $(this)[0].reset();
                }
              })
            });
            return false;
       }
  });

我遇到的问题是我无法找到在提交表单时传递user_id值的方法,因为该输入字段位于表单之外。

有人可以告诉我实现这一目标的最佳方法是什么吗?

最佳答案

Serialize 基本上采用键/值对并以以下格式连接它们:key=value&key1=value1 如果您想添加额外的内容,您可以执行正常的字符串连接。

$(this).serialize() + "&" + "user_id=" + $('#user_id').val()

您可能需要添加用于验证 user_id 的逻辑(如果有)。

您甚至可以将多个表单一起序列化,例如 $('#form1, #form2').serialize()

关于javascript - 提交时传递表单之外的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42325524/

相关文章:

具有多个参数的 Javascript 过滤

javascript - 颜色选择器在 Bootstrap 弹出窗口中不起作用

javascript - 如何重定向到同一页面

javascript - redux-form 字段参数为空

javascript - 打开没有 FILE 输入的文件对话框

javascript - jquery 不在 chrome 中运行,在 ff 中运行

php - 从Facebook组获取YouTube嵌入

jquery - 将多个 ajax 调用捆绑到 jQuery.when() 中时如何处理错误?

php - 通过ajax发布值时更新表字段时出错

javascript - jQuery 迭代表列和行来构建列表