我有这个表格:
<form action="someaction" method="post" onsubmit="return f1()">
etc, etc.
<button type="submit" id="cambioUsuario" class="btn btn-primary">Aceptar</button>
</form>
function f1(){
if((a validation between id from values of inputs) {
alert("passwords are wrong");
//$('#modal_error').modal('show');
return false;
}
else{
return true;
}
}
使用此代码,当2个输入(新密码及其验证输入)中的密码不同时,所有密码均可用。 alert
出现。但是,如果我将alert
替换为$('#modal_error').modal('show');
,则不会显示模式,并且会执行表单。任何想法?我想显示带有错误而不是警报的模式。
答案 0 :(得分:0)
这是个小矮人: http://embed.plnkr.co/UVrNda/preview
$("form").on('submit', function(e) {
var isValid = false;
if(!isValid) {
e.preventDefault();
e.returnValue = false;
$('#myModal').modal('show');
return false;
}
else{
alert("passwords are right");
}
});
本质上,如果密码不匹配,则要阻止表单提交,如果密码不匹配,则要提交表单。
这也可以通过使用e.preventDefault()并对服务器函数进行$ .ajax调用来实现。
这是克里斯蒂娜·拉吉克(Kristina Rajic)的一则小文章(通过对您的问题进行谷歌搜索发现) https://teamtreehouse.com/community/how-to-tell-form-not-to-reload-page-but-open-modal-window
请告诉我这是否有帮助。