javascript - 在mvc4表单上,触发不引人注目的验证但阻止提交

  显示原文与译文双语对照的内容
0 0

我有一个表单,这个表单有一些需要的值,因这里我的视图中有一些类似的东西:


[Required(ErrorMessageResourceType = typeof(Res_Errors), ErrorMessageResourceName ="errorPacienteNoSeleccionado")]
public int? scheduledIdPersonaSeleccionada { get; set; }

除了提交按钮,但我不想提交表单到服务器,我只需执行一个jquery函数,如果验证通过。

验证工作正常,但我不知道如何阻止表单发布,而是调用我的函数。

时间: 原作者:

0 0

如果你只想在表单提交( 而实际上我并没有把信息发送出去) 上执行 javascript,请查看 @Ajax.BeginForm:


@using (Ajax.BeginForm(new AjaxOptions { OnBegin ="MyFunction" }))
{
 @Html.EditorFor(x => x.scheduledIdPersonaSeleccionado)
 <input type="submit" value="Presentar"/>
}

或者你可以钩子到提交事件并自己执行该操作:


$('form').submit(function(){
 if ($(this).valid()) {//validation passed
//cal your jquery function here
 }
});

原作者:
0 0

将提交按钮改为按钮类型。 验证将调用,但提交不会


<form>
 @Html.EditorFor(x => x.scheduledIdPersonaSeleccionado)
 @Html.ValidationMessageFor(x=>x.scheduledIdPersonaSeleccionado)
 <input type="button" value="Presentar" onclick="DoSomething();"/>
</form>

...