#javascript #visual-studio #switch-statement
#javascript #visual-studio #switch-инструкция
Вопрос:
простое кодирование на javascript с использованием Microsoft Visual Studio Enterprise 2017 на виртуальной машине.
Пользователь, которому я помогаю, использует Microsoft Visual Studio Enterprise 2017 на виртуальной машине. Простая разработка с использованием javascript и html.
Код правильный — я взял код, создал проект в локализованной версии Visual Studio Community 2019, и он работает. Другой пользователь имеет тот же код внутри отдельной виртуальной машины, идентичной моему пользователю, и он работает.
Рассматриваемый код является оператором switch. Кнопки в таблице при нажатии вызывают оператор switch, но ни один из случаев не выполняется. Мы знаем это, потому что мы поместили оповещение на коммутатор, и оно появилось, но когда мы поместили оповещения в инструкцию case, оно не появилось (не говоря уже о том, что кнопки не работали). Опять же, полная функциональность с использованием того же кода (все внутри index.cshtml) в двух других версиях.
Мы также знаем, что функция обновления работает, поэтому у скрипта нет сомнений в том, что код скрипта считывается.
Итак, мы знаем, что этот код работает в двух отдельных версиях Microsoft Visual Studio, одна внутри виртуальной машины, подобной my user, а другая в автономной локальной версии.
Мы попробовали F12 и получаем некоторое утверждение о carat, которое, по-видимому, является повторяющейся проблемой. Поскольку это корпоративная версия внутри виртуальной машины, я неохотно прошу пользователя сделать что-нибудь радикальное, например 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:amp;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:
После некоторого использования Интернета я сосредоточился на том, что Jquery не работает.
В этом случае я смог решить проблему, добавив новый оператор script, который указывал на
<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 файлы, на которые ссылаются по всему проекту.