You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS获取文本框值拼接URL跳转时按钮点击不生效问题排查

问题根因

按钮点击无响应是两个代码错误导致的:

  • JS中使用document.getElementById()获取输入框,但三个输入框仅配置了name属性,没有设置对应id属性,获取到的元素为null,访问.value时直接抛出JS异常,后续跳转逻辑被中断
  • HTML存在无效冗余标签:输入框所在的<td>标签没有被<table><tr>包裹,还多写了一个无匹配开标签的</select>闭合标签,会导致DOM结构解析异常
修复后可运行代码
<h3>Enter Reference Number</h3>
<table>
  <tr>
    <td style="background-color:#f7faff;" width="300">
        <input name="txtBatchNo" id="txtBatchNo" type="text" size="2" maxlength="2">
        -
        <input name="txtSubDiv" id="txtSubDiv" type="text" size="5" maxlength="5">
        -
        <input name="txtRefNo" id="txtRefNo" type="text" size="8" maxlength="8">
    </td>
  </tr>
</table>

<input type="button" onclick="openPage()" value="Check BiLL">
<script type="text/javascript">
function openPage() {
    var add1 = document.getElementById('txtBatchNo').value.trim();
    var add2 = document.getElementById('txtSubDiv').value.trim();
    var add3 = document.getElementById('txtRefNo').value.trim();
    // 输入非空校验,可根据需求保留/删除
    if (!add1 || !add2 || !add3) {
        alert('请将参考编号填写完整');
        return;
    }
    var url = "http://www.lesco.gov.pk:36269/Default1.aspx?BatchNo=" + encodeURIComponent(add1) + "&SubDiv=" + encodeURIComponent(add2) + "&RefNo=" + encodeURIComponent(add3) + "&RU=U&Exec=941N7";
    window.open(url, "_blank");
}
</script>
可选优化说明
  • 新增输入值首尾空格去除逻辑,避免用户误输入空格导致参数错误
  • 新增encodeURIComponent()对参数值做URL编码,兼容特殊字符场景
  • 新增简单非空校验,避免空值跳转
  • 清理了无效的冗余标签,补全合法表格结构

内容的提问来源于stack exchange,提问作者Muhammad Adeeb Rana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:54:29