如何在按钮中隐藏JavaScript表单并预设TRUE选项?
解决方案
方法一:替换为隐藏输入框(推荐)
直接将原有的选择框替换成隐藏输入框,既能避免用户看到选择项,又能直接提交预设的TRUE对应值(value="1"),完美匹配“仅保留TRUE选项”的需求。
修改后的HTML代码:
<body onload="preFill()"> <form name="ProfileForm" onsubmit="return CheckInputs();" action="https://test.com/u/register.php" method=get> <!-- 原有隐藏字段保持不变 --> <input type=hidden name="CID" value="1234567890"> <input type=hidden name="SID" value=""> <input type=hidden name="UID" value="{{contact.uid}}"> <input type=hidden name="f" value="444"> <input type=hidden name="p" value="2"> <input type=hidden name="a" value="r"> <input type=hidden name="el" value=""> <input type=hidden name="llid" value=""> <input type=hidden name="c" value=""> <input type=hidden name="counted" value=""> <input type=hidden name="RID" value=""> <input type=hidden name="mailnow" value=""> <!-- 替换选择框为隐藏输入框,直接设置值为1(对应TRUE) --> <input type="hidden" name="inp_7449" value="1"> <input aria-label='Register' tabindex='993' type=button onclick="javascript:SubmitIt()" name="submit1" value="Register"> </form> </body>
方法二:隐藏原有选择框并默认选中TRUE
如果因工具提供商校验要求必须保留<select>标签,可以通过CSS隐藏它,同时在HTML中默认选中TRUE选项:
修改HTML部分
给选择框添加类名用于隐藏,同时给TRUE选项设置selected属性:
<body onload="preFill()"> <form name="ProfileForm" onsubmit="return CheckInputs();" action="https://test.com/u/register.php" method=get> <!-- 原有隐藏字段保持不变 --> <input type=hidden name="CID" value="1234567890"> <input type=hidden name="SID" value=""> <input type=hidden name="UID" value="{{contact.uid}}"> <input type=hidden name="f" value="444"> <input type=hidden name="p" value="2"> <input type=hidden name="a" value="r"> <input type=hidden name="el" value=""> <input type=hidden name="llid" value=""> <input type=hidden name="c" value=""> <input type=hidden name="counted" value=""> <input type=hidden name="RID" value=""> <input type=hidden name="mailnow" value=""> <!-- 添加hidden-select类,给TRUE选项设置默认选中 --> repermission_optin:<select name="inp_7449" size=1 class="hidden-select"> <option value=""> </option> <option value="1" selected>TRUE</option> <option value="2">FALSE</option> </select><br> <input aria-label='Register' tabindex='993' type=button onclick="javascript:SubmitIt()" name="submit1" value="Register"> </form> </body>
添加CSS样式
在现有CSS中加入隐藏样式:
.hidden-select { display: none; }
额外优化:确保提交逻辑可靠
原CheckInputs函数无实际校验逻辑,若要确保inp_7449值始终为1,可补充校验:
function CheckInputs() { var check_ok = true; error = "Wrong input!\n"; // 强制校验optin值为1 if(document.ProfileForm.inp_7449.value !== "1"){ check_ok = false; error += "Invalid optin selection!\n"; } if(check_ok == false) alert(error); return check_ok; }
以上修改完成后,用户点击按钮即可直接提交预设好TRUE值的表单,完全满足需求。
内容的提问来源于stack exchange,提问作者M.Scott
相关产品推荐
相关产品推荐

