$("#formId"). serialize()后台获取不到表单中属性为disabled的元素的值的解决办法

本文介绍了解决在HTML表单中提交时,带有disabled属性的select元素值无法正常传递的问题。通过简单的JavaScript操作,即在表单提交前使用removeAttr方法移除该属性,可以确保select元素的值能被正确提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当属性设置为"disabled"时,提交表单时,select的值无法传递,提交前移除disabled属性$("#role").removeAttr("disabled"); 即可
<%@ page import="util.DbConnect" %> <%@ page import="java.sql.ResultSet" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% //功能:通过查询数据库,获取对应的用户信息,显示在对应的输入框中 //获取要编辑的数据编号 String id = request.getParameter("id"); //查询数据库 String sql = "select * from `user` where `id`=?;"; Object[] params = new Object[]{ id }; ResultSet rs = DbConnect.select(sql, params); //验证是否查询到数据,如果没有数据,则强制返回列表页面 if(!rs.next()) response.sendRedirect("list.jsp"); %> <html> <head> <title>编辑用户</title> <link rel="stylesheet" href="../css/common.css"> <link rel="stylesheet" href="../css/add.css"> </head> <body> <%-- 1.标题:编辑用户 2.表单form元素 3.输入框:账号、密码、确认密码、姓名 4.按钮:提交、重置、返回 --%> <header> <div class="title">编辑用户</div> </header> <div class="main"> <form id="editForm"> <input name="id" type="hidden" value="<%=rs.getString("id")%>"> <div class="form-item"> <label for="username">账号:</label> <%-- disabled:禁用元素(可以显示) --%> <input disabled value="<%=rs.getString("username")%>" id="username" name="username" type="text"> </div> <div class="form-item"> <label for="password">密码:</label> <input value="<%=rs.getString("password")%>" id="password" name="password" type="password"> </div> <div class="form-item"> <label for="cmfPsw">确认密码:</label> <input value="<%=rs.getString("password")%>" id="cmfPsw" name="cmfPsw" type="password"> </div> <div class="form-item"> <label for="realname">姓名:</label> <input value="<%=rs.getString("realname")%>" id="realname" name="realname" type="text"> </div> <div class="form-item"> <button class="primary" id="btnSubmit" type="button">提交</button> <button type="reset">重置</button> <button id="btnBack" type="button">返回</button> </div> </form> </div> <script src="../js/jquery-3.5.1.min.js"></script> <script src="../js/common.js"></script> <script> /* * 功能: * 1.绑定提交按钮的点击事件 * (1)验证是否为空:账号、密码、姓名 * (2)无刷新提交数据 * 网址(用于真正处理保存) * 获取表单中所有数据 * 请求成功后的操作: * 保存成功:弹出提示信息,返回列表页面 * 保存失败:弹出提示信息 * 2.绑定返回按钮的点击事件:返回列表页面 * */ //1.绑定提交按钮的点击事件 $('#btnSubmit').on('click', function () { //(1)验证是否为空:账号、密码、姓名 if(!checkInputIsNull('#username','请输入账号')) return false; if(!checkInputIsNull('#password','请输入密码')) return false; //验证两次输入的密码是否一致 if($('#password').val() !== $('#cmfPsw').val()){ alert('两次输入的密码不一致'); $('#cmfPsw').val('').focus();//清空确认密码,并设置其获得焦点 return false;//停止往下执行 } if(!checkInputIsNull('#realname','请输入姓名')) return false; //(2)无刷新提交数据 postAction('/user/edit', $('#editForm').serialize(), function (res) { alert(res.msg); if(res.result) window.location.href = res.url; }); }); //2.绑定返回按钮的点击事件:返回列表页面 $('#btnBack').on('click', function () { if(confirm("确定要返回列表页面吗?")){ window.location.href='list.jsp'; } }); </script> </body> </html> 无法完成表单提交
最新发布
07-06
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱人间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值