Javascript代码是正确的,但在Microsoft Visual Studio中不起作用

问题描述 投票:0回答:1

在VM中使用Microsoft Visual Studio Enterprise 2017在javascript中进行简单编码。

我正在帮助的用户在VM中使用Microsoft Visual Studio Enterprise 2017。使用javascript和html进行简单的开发。

代码是对的 - 我已经采用了代码,在Visual Studio Community 2019的本地化版本中创建了一个项目并且它可以工作。另一个用户在与我的用户相同的单独VM中具有相同的代码,并且它可以工作。

有问题的代码是switch语句。按下时表中的按钮调用switch语句,但不满足任何情况。我们知道这一点,因为我们在交换机上发出警报并弹出警报,但是当我们在case语句中放置警报时,它没有出现(更不用说按钮不起作用了)。同样,在其他两个版本上使用相同代码(所有内部index.cshtml)的完整功能。

我们也知道刷新功能正在运行 - 所以脚本毫无疑问正在读取脚本代码。

因此,我们知道此代码适用于Microsoft Visual Studio的两个单独版本,一个在我的用户内部,另一个在独立本地版本中。

我们尝试过F12,我们得到一些关于克拉的陈述,这显然是一个反复出现的问题。由于它是VM中的企业版,我不愿意让用户做任何像devenv / resetuserdata这样的激进事情。

所以这真的不是编码问题,但由于在其他Visual Studio安装中成功构建项目,我无法进行故障排除。让我补充一点 - 这不是将解决方案从一个环境复制到另一个环境,它构建单个项目并使用相同的代码。

<script>
function RefreshPage() {
        window.location.reload(true);
    }
    function ClearFields(field) {
        switch (field) {
            case 'I':
                $("#txtItemNumber").val("");
                break;
            case 'A':
                $("#txtItemNumber, #txtCategoryNumber").val("");
                break;
            case 'C':
                $("#txtCategoryNumber").val("");
                break;
        }
    }
</script>

 <td>
            <input placeholder="ItemNumber" type="text" id="txtItemNumber"
                   style="font-size:large;text-align: center; height: 44px;" />
        </td>
        <td style="padding-left:20px;">
            <div>
                <button onclick="RefreshPage(); return false;" type="button" class="btn btn-info btn-sm"><span class="glyphicon glyphicon-refresh"></span>Refresh</button>
            </div>
        </td>
        <td style="padding-left: 20px;">
            <div>
                <button onclick="ClearFields('I'); return false;" type="button" class="btn btn-info btn-xs"><span class="glyphicon glyphicon-clear"></span>Clear</button>
            </div>
        </td>
        <td style="padding-left: 20px;">
            <div>
                <button onclick="ClearFields('A'); return false;" type="button" class="btn btn-info btn-xs"><span class="glyphicon glyphicon-clear"></span>ClearAll</button>
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <label style="font-size:large;">
                Enter Category Number:&nbsp;
            </label>
        </td>
        <td>
            <input placeholder="Category Number" type="text" id="txtCategoryNumber"
                   style="font-size:large; text-align: center; height: 44px;" />
        </td>
        <td style="padding-left: 22px;">
            <div>
                <button onclick="ClearFields('C'); return false;" type="button" class="btn btn-info btn-xs"><span class="glyphicon glyphicon=clear"></span> Clear</button>
            </div>
        </td>
    </tr>
javascript visual-studio switch-statement
1个回答
1
投票

在一些互联网瘫痪之后,我专注于Jquery不工作。

在这种情况下,我能够通过添加指向的新脚本语句来解决问题

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

然后我们发现了有问题的代码。即使它是采购jquery-3.2.1.min.js,_layoutPage.cshtml文件中还有另一个包含此行的引用

    <script type="text/javascript" src="@Url.Content("~/Scripts/JQuery/jquery-1.11.3.min.js")"></script>

这是压倒一切的。这段代码导致jQuery无法工作,直到我们解决了整个项目中引用的多个jQuery.xxx.js文件才会工作。

© www.soinside.com 2019 - 2024. All rights reserved.