背景
常常我们因为各种情况,需要将页面某一模块内容设为不可编辑状态,也就是“写死”,然后被“写死”的模块的值,又是需要随着网页的表单提交到服务器处理,此时便会遇到被“写死”模块的值无法传送。
在此之前,博主在网上搜索查阅了很多帖子,尚未有人提到解决办法。可能因为这种小问题,大佬们都心知肚明,也觉得没总结的必要,但是对刚入行不久的小白来说,很多细枝末节方面的问题,往往比主要功能的编码更令人头疼。
故在项目实践中,我总结一种处理方法以供大家参考。
假定需求
当用户在字段“考试模式”的下拉框中,选择了“随机”时,字段“考试内容”的下拉框也自动默认为“随机”并且状态为不可编辑。
这个触发事件的js就不再赘述了,相信各位大佬不在话下,重要的是对被“写死”的“考试内容”的值怎么能让它进行传输。
设property=“ExamContent” 的下拉框(也可为帮助),将其设为不可编辑状态,即:document.getElementById("ExamContent").disabled="true"
解决方法
首先,在页面开头便将"ExamContent" 设为隐藏参数:<html:hidden property="ExamContent"/> ;
然后,在“考试内容”下拉框的声明部分,将属性名称更改为其他,即将设的property="ExamContent"改为property=“ExamContent1”,其中ExamContent1可为任意值;
随后,页面上js中关于原本property="ExamContent"的状态与值的操作,均改为对property="ExamContent1"的状态与值的操作;
最后,将property="ExamContent1"的值赋给property=“ExamContent”,即document.getElementById("ExamContent").value=document.getE

本文介绍了在前端页面中,如何处理被设置为disabled的表单元素的数据传输问题。当某个字段需要被写死且其值需要随表单提交时,通过在页面开头设置隐藏参数,并修改属性名称,利用JavaScript操作状态与值,确保数据能够正常传输到服务器。
最低0.47元/天 解锁文章
1715





