. Проблема, с которой я сейчас сталкиваюсь, - это событие нажатия кнопки автоматически запускается, когда клавиша ввода нажата в Html.TextBoxFor(). У меня главный вид. В этом представлении есть 3 кнопки. На каждой из двух кнопок открывается частичный вид, и при нажатии третьей кнопки открывается новое представление. Пожалуйста, смотрите код ниже:Событие с нажатием кнопки автоматически запускается во время TextBoxFor. Нажмите клавишу ввода
<script>
$(document).ready(function() {
SetUpDatePickers();
});
$('#button1').click(function (event) {
$('#divdefinetraj').toggle();
$('#button1').hide();
$('#button2').hide();
$('#button3').hide();
event.preventDefault();
GetTrajectories();
});
$('#button2').click(function (event) {
$('#divRequestTT').toggle();
$('#button1').hide();
$('#button2').hide();
$('#button3').hide();
event.preventDefault();
});
$('#button3').click(function (event) {
window.location.href = '/UserManagement/UsersList/';
event.preventDefault();
});
</script>
Я нажал кнопку Button1 и открыт первый частичный вид:
Частичный вид имеет код ниже:
@Html.TextBoxFor(u => u.TrajName, new { @class = "txtboxclass", @id = "TrajName" })
Мой вопрос, когда я нажимаю «Enter "в этом текстовом поле, код для кнопки1 на главном экране выполняется:
$('#button1').click(function (event) {
$('#divdefinetraj').toggle();
$('#button1').hide();
$('#button2').hide();
$('#button3').hide();
event.preventDefault();
GetTrajectories();
});
Это приводит к тому, что все кнопки скрыты, и представление становится бесполезным, если пользователь не перезагружает представление принудительно.
Я попытался обработать событие textboxfor onchange()
и перейти к функции ниже, но он не обрабатывается.
function EnterKeyFilter() {
if (window.event.keyCode == 13) {
event.returnValue = false;
event.cancel = true;
}
}
Даже я пробовал ту же функцию для div-click() .. Это не сработает. Когда я нажимаю клавишу ввода, с этой информацией обрабатывается точная кнопка1 с этой информацией event = j…y.Event {originalEvent: MouseEvent, type: "click", timeStamp: 7055.025000000001, jQuery110208686809991100928: true, toElement: button#button1
.
Но я не нажимаю на него. Частичное представление также не является частью формы, и представление формы не является проблемой. Я новичок в ASP.NET MVC и смущен этим странным поведением. Пожалуйста помоги. Заранее спасибо.
Вы могли бы попытаться установить фокус на некоторые скрытый контроль, который ничего не делает. – Tatranskymedved
Вы хотите, чтобы, когда кто-то нажал кнопку ввода на клавиатуре, ничего не случилось, правда? –
@WillyDavidJr: Да. В точку. – ViVi