如何实现单个表单根据输入值重定向至对应HTML页面?
实现多输入值对应跳转的表单功能
可以实现你需要的功能,以下是完善后的代码,支持扩展多个输入值与对应页面的映射:
<form name="home" method="get" onsubmit="return check(this)"> <input type="text" name="code" placeholder="输入html1/html2/html3等"> <input type="submit" value="提交"> </form> <script> function check(form) { // 定义输入值与目标页面的映射表,新增规则直接在这里添加键值对即可 const pageMap = { "html1": "html1.html", "html2": "html2.html", "html3": "html3.html" }; // 获取用户输入并去除首尾空格,避免空格干扰匹配 const inputValue = form.code.value.trim(); // 检查输入是否在映射规则内 if (pageMap[inputValue]) { window.location.href = pageMap[inputValue]; return false; } else { window.location.href = "error.html"; return false; } } </script>
关键优化点:
- 修正原表单错误的
type属性为标准的method,并将校验逻辑绑定到表单提交事件上 - 用映射表管理输入与页面的对应关系,后续新增规则只需在
pageMap里添加条目,无需修改判断逻辑 - 处理了输入内容的首尾空格,避免用户误输入空格导致匹配失败
- 统一JavaScript语法规范(如小写的
function、if),修复原代码中变量名不匹配的问题(原代码用form.user.value但输入框name是code)
内容的提问来源于stack exchange,提问作者Scriptkiddo
相关产品推荐
相关产品推荐

