Проблема, связанная с отправкой HTTPPOST ActionMethod в MVC

1

У меня есть веб-приложение asp.net MVC.

У меня есть кнопка ввода:

<input type="submit" name="Report" value="To File" id="rptToFile" />

У меня есть еще одно текстовое поле ввода:

<input type="text" id="txtMemItem1"  name="" />

когда пользователь нажимает Enter в TextBox я написал код, чтобы открыть новое всплывающее окно:

но проблема в том, что: нажав enter, он вызывает метод HTTPPOST Action в контроллере. Я не хочу отправлять его на EnterPress, но хочу открыть всплывающее окно.

как я могу решить мою проблему???

Благодаря

Теги:
model-view-controller
asp.net-mvc
asp.net-mvc-5
asp.net-mvc-4

2 ответа

1

Это поведение по умолчанию для форм HTML. Когда вы фокусируетесь на управлении формой и нажатой, вводимая форма отправляется на сервер.

Альтернативное решение этой проблемы может быть написать яваскрипт onkeypress события и проверить, если keyCode is 13 (enter), а затем return false и открыть всплывающее окно еще return true.

HTML

<input type="text" onKeyPress="keyPressed(event)" .../>

Javascript

function keyPressed(event)
{
   var code = (e.keyCode ? e.keyCode : e.which);
   if(code == 13)
   {
       //open a popup here.
       return false;
   }
   return true;
}

Альтернативно, если вам не нужно публиковать форму, вы можете использовать что-то вроде ниже.

<form onsubmit="return false" ></form>
0

это в основном проблема js jquery, вам нужно предотвратить отправку указателя на ввод, это поможет вам отключить форму jquery form submit on enter

Ещё вопросы

Сообщество Overcoder
Наверх
Меню