IsPost无法正常工作

时间:2017-08-28 09:43:20

标签: html asp.net-mvc razor

我发布了一个表单,并使用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>发布表单时,它应该显示'填写表单'而不是更改页面,而是每次重定向。我没看到什么?

1 个答案:

答案 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/