如何避免表单提交按钮

时间:2019-03-22 13:33:43

标签: c# asp.net-mvc razor

我的页面上有两个提交按钮和一些文本框。当我在文本框中输入详细信息并按Enter键时,表格应启动新的开始按钮。但是表单正在启动旧按钮。我不想在按钮上添加on click,因为我正在检查某些条件并从控制器重定向。我该怎么办,以免我的表单在按回车按钮时有任何建议时默认为旧值按钮启动?

控制器:

public ActionResult Index(MyModel model, string new, string old)
{ 
    if (new == "new")
    {
        if (rows > 0)
        {
            return ProcessAction();
        }
        else
        {
            return ProcessAction();
        }
    }

    if (old == "old")
    {
        if (rowsAmount > 0)
        {
            //do something
        }
        else
        {
            //do something
        }
    }

    return View();
}

查看:

@using (Html.BeginForm("Index", "Application", FormMethod.Post)) 
{
    @Html.AntiForgeryToken()
    <div class="col aligncenter">          
        <div class="form-row topMargin">               
            <div class="col-md-6 form-group">
                @Html.TextBoxFor(model => model.Email)                    
            </div>
            <div class="col-md-4 form-group">
                @Html.TextBoxFor(model => model.FirsttName)                    
            </div>
            <div class="col-md-2 form-group">
                @Html.TextBoxFor(model => model.LastName)
             </div>
        </div>
        <div class="form-row">
            <div class="col-md-9 form-group text-right">
                <button class="btn" type="submit" name="old" value="old">Get History</button>
            </div>
            <div class="col-md-3 form-group text-right">
                <button class="btn" type="submit" name=newr" value="new">Start New</button>
            </div>
        </div>
    </div>
}

2 个答案:

答案 0 :(得分:0)

要更改通过old button提交的表单,只需将button typetype="submit"更改为type="button"

<div class="form-row">
    <div class="col-md-9 form-group text-right">
        <button class="btn" type="btn" name="old" value="old">Get History</button>
    </div>
    <div class="col-md-3 form-group text-right">
        <button class="btn" type="submit" name=newr" value="new">Start New</button>
    </div>
</div>
  

更新

您可以给Get History button一个click event,也可以通过javascript Ajax call来创建一个function,并赋予它历史记录或将您的controller action绑定到锚点中链接和

答案 1 :(得分:0)

您的按钮带有type="submit",这意味着它们在按下时将提交表单。而是使用type="button"避免提交表单。如果您想提供一种重置表单输入的方法,也可以使用type="reset"

<form>
  First name:<br>
  <input type="text" name="firstname"><br>
  Last name:<br>
  <input type="text" name="lastname">
  <button type="button">Just a button</button>
  <button type="submit">Submit</button>
  <button type="reset">Reset the form</button>
</form>