我发布了一个表单,并使用IsPost
检查它是否已完成,但我从未得到我想要的结果:
@if (IsPost)
{
var error = false;
var nom = Request["searchGroup"];
if (nom.IsEmpty())
{
error = true;
@:Fill the form <br />
}
if (!error)
{
Response.Redirect(Href("~/Search/FindGroups"), false);
}
}
<form class="form-inline" method="post" action="~/Search/FindGroups">
<input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0" name="searchGroup" id="searchGroup"/>
<button type="submit" id="searchValidate"> Rechercher </button><br />
</form>
所以这是我的表单,当我用空<input>
发布表单时,它应该显示'填写表单'而不是更改页面,而是每次重定向。我没看到什么?
答案 0 :(得分:1)
您希望在表单提交之前验证文本框,您可以从
添加id
<form class="form-inline" id="myform" method="post" action="~/Search/FindGroups">
<input type="text" class="form-control mb-2 mr-sm-2 mb-sm-0" name="searchGroup" id="searchGroup"/>
<button type="submit" id="searchValidate"> Rechercher </button><br />
</form>
并在jquery
添加此
$("#searchValidate").click(function(e){
e.preventDefault();
if($('#searchGroup').val() === "")
{
alert("Fill the form")
}
else{
$("#myform").submit();
}
});
并且不要忘记将其添加到头部
<script src="https://code.jquery.com/jquery-3.2.1.js" integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="crossorigin="anonymous"></script>
这是一个工作示例https://jsfiddle.net/t04p54v4/