Код Javascript правильный, но не работает в Microsoft Visual Studio - PullRequest
0 голосов
/ 07 апреля 2019

простое кодирование в javascript с использованием Microsoft Visual Studio Enterprise 2017 на виртуальной машине.

Пользователь, которому я помогаю, использует Microsoft Visual Studio Enterprise 2017 на виртуальной машине.Простая разработка с использованием javascript и html.

Код правильный - я взял код, создал проект в локализованной версии Visual Studio Community 2019 и он работает.У другого пользователя такой же код внутри отдельной виртуальной машины, идентичный моему, и он работает.

Данный код является оператором переключения.Кнопки в таблице при нажатии вызывают оператор switch, но ни один из случаев не выполняется.Мы знаем это, потому что мы поставили предупреждение на коммутаторе, и предупреждение появилось, но когда мы поместили предупреждения в выписку по делу, оно не появилось (не говоря уже о том, что кнопки не работали).Опять же, полная функциональность с использованием одного и того же кода (все внутри index.cshtml) в двух других версиях.

Мы также знаем, что функция обновления работает - поэтому сценарий не вызывает сомнений в том, что код сценария читается.

Итак, мы знаем, что этот код работает в двух отдельных версиях Microsoft Visual Studio: одна внутри виртуальной машины, подобной моему пользователю, и другая в автономной локальной версии.

Мы попробовали F12, и мы получили какое-то утверждение о карате, который, по-видимому, является повторяющимися проблемами.Поскольку это корпоративная версия внутри ВМ, я не хочу просить пользователя сделать что-то радикальное, например, 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>

1 Ответ

1 голос
/ 09 апреля 2019

После некоторого интернет-шлейфа я сосредоточился на том, что 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, на которые имеются ссылки в проекте.

...