传递输入值whcih在提交

时间:2017-02-19 09:20:56

标签: 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值的方法。

有人可以告诉我实现这个目标的最佳途径是什么?

1 个答案:

答案 0 :(得分:1)

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

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

如果有的话,您可能需要添加逻辑以验证user_id。

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