Как добавить всплывающее окно подтверждения на кнопку (действие GET POST в MVC)?

У меня есть функция get/post/JSON на странице aspx. Эта страница добавляет данные, введенные в текстовое поле, в таблицу, заполненную javascript. Когда пользователь выбирает кнопку отправки. Если текстовое поле не пусто, используйте всплывающую кнопку, сообщающую пользователю, что данные в текстовом поле не сохраняются в таблице. Как сделать так, чтобы всплывающее окно подтверждения «ok/cancel» отображалось в действии публикации в контроллере? Я сделал краткий обзор того, как выглядит мой код.

...
<%  using (Html.BeginForm("AddName", "Name", FormMethod.Post, new { id = "AddNameForm" })) { %>
...
<table id="displayNameTable" width= "100%">                        
    <tr>
        <th colspan="3">Names Already Added</th>
    </tr>
    <tr>
        <td style="font-size:smaller;" class="name"></td>
    </tr>
</table>  
...
<input name="Name" id="txtInjuryName" type="text" value="<%=test.Name %>" />
...
<input type="submit" name="add" value="Add"/>
<% } %>
<form id="form1" runat="server">
           string confirmNext = "";
    if (test.Name == "")
    {
       confirmNext = "return confirm('It seems you have a name not added.\n\nAre Continue?')";
    }%>
    <input type="submit" name="getNext" value="Next" onclick="<%=confirmNext%>" />
</form>

person MrM    schedule 17.06.2010    source источник


Ответы (2)


Вы можете использовать событие формы onsubmit:

<form id="form1" onsubmit="return confirm('It seems you have a name not added.\n\nAre Continue?')">
    <input type="submit" name="getNext" value="Next" />
</form>

Также почему runat="server" в приложении ASP.NET MVC? Также вы можете рассмотреть возможность указания action, в который отправляется эта форма, и использовать хелпер Html.BeginForm, как для вашей первой формы.

person Darin Dimitrov    schedule 17.06.2010

person    schedule
comment
+1 за использование jQuery для отделения взаимодействия на стороне клиента от элемента html. Способствует ремонтопригодности. - person Amir; 17.06.2010
comment
Это хороший способ... но как мне проверить, пусто ли текстовое поле или нет??? - person MrM; 17.06.2010
comment
добавить if($(#txtInjuryName).val()==){...} - person Gregoire; 17.06.2010
comment
Спасибо... Я новичок в использовании jquery. - person MrM; 17.06.2010