HTML表单JS提交异常:无法跳转至指定Webhook链接求助
问题修复方案
你的代码存在两个关键问题导致跳转异常:
- 提前获取输入值:
finFirst在页面刚加载时就获取了输入框的值,此时输入框为空,后续输入内容后这个变量也不会自动更新,就算执行跳转,参数也无法正确携带输入内容。 - 未阻止表单默认提交行为:点击按钮后,表单会触发默认提交动作(未设置
action时默认提交到当前页面),所以会先跳转到带username=Mark的本地地址,和自定义跳转逻辑冲突。
修复后的代码如下:
<form onsubmit="redirect(event)"> <input type="text" id="firstName" name="First name" required /> <button id="button">click</button> </form> <script> function redirect(event) { // 阻止表单默认提交行为 event.preventDefault(); // 在函数内实时获取输入框的最新值 const finFirst = document.getElementById('firstName').value; location.href = `https://myblahblahhook.com/webhook-test/my-form?first=${finFirst}`; } </script>
修复说明:
- 将获取输入值的逻辑移到
redirect函数内部,确保每次点击按钮时都能拿到输入框的最新内容。 - 通过
event.preventDefault()阻止表单默认提交行为,避免跳转至本地页面。 - 使用
const声明变量,符合现代JavaScript编码规范。
内容的提问来源于stack exchange,提问作者Baraa A
相关产品推荐
相关产品推荐

