启用最后一个 JS 函数时动态下拉窗体中断

Dynamic dropdown form breaks when enabling last JS function

本文关键字:窗体 中断 动态 最后一个 JS 函数 启用      更新时间:2023-09-26

我正在设计一个动态下拉表单,它将帮助我的客户为他们选择合适的产品,并希望测试该功能以输出最终结果。当我添加JS函数以从最后一个下拉列表中获取信息并使用它来构建结果列表时,整个脚本似乎都中断了。我在 Chrome 中的控制台吐出Uncaught SyntaxError: Unexpected string(指向损坏的 JS 的倒数第三行(,尽管它与我的其他函数几乎相同,除了一些更改的变量。

基本上,我使用 JS 从下拉列表中提取信息,该下拉菜单使用 GET 将该数据发送到 PHP 脚本。然后,该脚本使用该数据查询 SQL 数据库,以动态生成下一个下拉列表的选项列表。在表单的最后一个下拉列表之后,JS将解析PHP脚本以接收一些数据(最终是一个表(并使用该数据更新DIV。这是脚本中断的地方。添加最后一个 JS 函数会破坏脚本,同时删除它会使其正常工作。

您可以在此处测试工作脚本,在此处测试损坏的脚本

这是工作JS:

        $(function(){
            $("#type").change(function() {
                var tval = document.getElementById('type').value;
                $("#source").load(encodeURI("findbackend.php?type=" + tval));
            });
            $("#source").change(function() {
                sval = document.getElementById('source').value;
                $("#range").load(encodeURI("findbackend.php?source=" + sval));
            });
            $("#range").change(function() {
                rval = document.getElementById('range').value;
                $("#setpoint").load(encodeURI("findbackend.php?range=" + rval));
            });
            $("#setpoint").change(function() {
                stval = document.getElementById('setpoint').value;
                $("#dig_num").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval));
            });
          });

这是损坏的JS:

        $(function(){
            $("#type").change(function() {
                var tval = document.getElementById('type').value;
                $("#source").load(encodeURI("findbackend.php?type=" + tval));
            });
            $("#source").change(function() {
                sval = document.getElementById('source').value;
                $("#range").load(encodeURI("findbackend.php?source=" + sval));
            });
            $("#range").change(function() {
                rval = document.getElementById('range').value;
                $("#setpoint").load(encodeURI("findbackend.php?range=" + rval));
            });
            $("#setpoint").change(function() {
                stval = document.getElementById('setpoint').value;
                $("#dig_num").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval));
            });
            $("#dig_num").change(function() {
                dnum = document.getElementById('dig_num').value;
                $("#findresults").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval "&dig_num=" + dnum));
            });
          });

我看了一百多遍,都想不通是什么破坏了剧本。

如果你想看看PHP或其他任何东西,请告诉我。

提前感谢任何帮助。

同样,您可以在此处查看

工作脚本,在此处查看损坏的脚本。

你忘了在stval后面添加一个"+"号。

$("#findresults").load(encodeURI("findbackend.php?range=" + rval + "&setpoint=" + stval + "&dig_num=" + dnum));