Как мне отправить обратно в действие контроллера MVC через Javascript - PullRequest
0 голосов
/ 11 июля 2011

В настоящее время у меня есть страница aspx, которая определяется как:

    <%Using Html.BeginForm("SaveNotifications", "Notifications", FormMethod.Post, New With {.id = "NotificationForm"})%>
    ...
                    <tr>
                <td colspan="3">
                    <input type="submit" id="SaveNotifications" name="SaveNotifications" value="Save" class="t-button" />
                </td>
            </tr>
        </table>
        </fieldset> 
    <%End Using %>

Я хочу изменить это так, чтобы моя кнопка ввода запускала функцию javascript, чтобы я мог выполнить некоторую сложную проверку формы и ТОотправлять сообщения в контроллер.

Я изменил кнопку отправки на:

    <input type="submit" id="SaveNotifications" name="SaveNotifications" value="Save" class="t-button" onclick="onSave(); return false;" />

Метод onSave () будет запускаться, но не отправлять сообщения обратно в контроллер.

Контроллер определяется как:

    <HttpPost()> _
    <MultiButton(MatchFormKey:="SaveNotifications", MatchFormValue:="Save")> _
    Function SaveNotifications(ByVal NotificationForm As FormCollection) As ActionResult
    ...
    End Function

Как мне изменить это так, чтобы JavaScript запускался, запускал мою проверку и затем нажимал на это действие контроллера?

Спасибо

1 Ответ

1 голос
/ 11 июля 2011

Измените кнопку отправки на

<input type="submit" id="SaveNotifications" name="SaveNotifications" value="Save" class="t-button" onclick="return onSave();" />

Затем в функции javascript onSave () верните true или false в зависимости от проверки.

function onSave()
{
    var isValid = true;
    // ... do your validation ...

    // ie:
    // if (field1.value.length == 0)
    //     isValid = false;


    // returning true will post the form.  False will halt it.
    return isValid;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...