我有一个下拉列表,其中列出了用户列表。因此,当我从列表中选择用户时,会出现一个单选按钮,其中包含选项修改用户详细信息、更改用户权限、警告用户
从单选选项中选择选项后,我加载一个 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/