Javascript 检索文本输入的值将提交具有该值的页面

Javascript 检索文本输入的值将提交具有该值的页面,javascript,html,jquery,css,Javascript,Html,Jquery,Css,我正在研究一种HTML/JS方法来捕获多个输入文本框中的数据,在尝试检索输入中的值时遇到了一个奇怪的问题。在解释我的问题之前,我将继续并在这里发布代码 <div class="card-body"> <div id="manual-record-headers"> <b class="manual-record-header">Serial Number</b>

我正在研究一种HTML/JS方法来捕获多个输入文本框中的数据,在尝试检索输入中的值时遇到了一个奇怪的问题。在解释我的问题之前,我将继续并在这里发布代码

<div class="card-body">
    <div id="manual-record-headers">
        <b class="manual-record-header">Serial Number</b>
        <b class="manual-record-header">Drive Health</b>
        <b class="manual-record-header">Location</b>
        <b class="manual-record-header">Username</b>
    </div>
    <div id="manual-record-table">
        <div class="manual-record-row" id="manual-row-1">
            <input type="text" class="form-control manual-record-input serial-num-input" placeholder="Serial number for drive...">
            <input type="text" class="form-control manual-record-input drive-health-input" placeholder="Drive health state...">
            <input type="text" class="form-control manual-record-input drive-location-input" onsubmit="return false;" placeholder="Storage location for drive...">
            <input type="text" class="form-control manual-record-input username-input" placeholder="Check in username...">
            <button class="delete-row"> <img src="/static/main/img/delete.png" width="34" height="34" /> </button>
        </div>
    </div>
</div>

序列号
推动健康
位置
用户名
for(x=1;x.serial num input').val();
运行状况=$(“#手动行-”+x+“>.drive health input”).val();
位置=$(“#手动行-”+x+“>。驱动器位置输入”).val();
用户名=$(“#手动行-”+x+“>.username输入”).val();
}
捕捉(错误){
警报(错误消息);
}
[程序、驱动器类型、产品类型]=从驱动器串行(串行)获取数据
临时库存清单=[序列、运行状况、位置、用户名、程序、驱动器类型、产品类型];
库存清单。推送(临时库存清单);
}
出于某种原因,在第三个文本输入中,我试图检索“.drive location input”的值,该页面将与该文本输入中的值一起提交。因此,如果我在.drive位置输入文本输入中输入值“333333”,页面将从127.0.0.1/main变为127.0.0.1/main/333333。我还应该注意,页面在try/catch和alert关闭之前被重定向/提交,所以我看不到任何可能导致这种情况的错误

就我所知,没有理由会发生这种情况,特别是因为其他3个文本输入似乎可以毫无问题地检索到。这是一个文本输入本身的问题吗,还是我应该研究一下为什么页面在提交时会包含最初获得的值


如果需要任何其他信息,请告诉我,并提前感谢您的帮助。

事实证明,使用“location”作为变量名是一个大禁忌。“location”返回窗口元素位置,显然会导致页面重定向。因此,对于将来可能看到此问题的任何其他人,请查看您使用的任何变量名是否存在冲突。。。浪费半天可不是一个有趣的方式

可能是因为驱动器位置输入项上的“onsubmit:return false”?@knosmos感谢您的快速响应,我添加了onsubmit以尝试解决问题,但实际上我刚刚找到了根本原因。事实证明,使用“location”作为变量名是一个很大的禁忌。“location”返回窗口元素的位置,显然会导致页面重定向。
for ( x=1; x < manual_record_count + 1; x++ ) {
    temp_inventory_list = []

    try {
        serial = $('#manual-row-' + x + ' > .serial-num-input').val();
        health = $('#manual-row-' + x + ' > .drive-health-input').val();
        location = $('#manual-row-' + x + ' > .drive-location-input').val();
        username = $('#manual-row-' + x + ' > .username-input').val();
    }
    catch(err) {
        alert(err.message);
    }

    [program, drive_type, product_type] = get_data_from_drive_serial(serial)

    temp_inventory_list = [serial, health, location, username, program, drive_type, product_type];
    inventory_list.push(temp_inventory_list);
}