为什么单击按钮后自动执行Form-Post?

时间:2019-10-06 14:16:27

标签: javascript html twitter-bootstrap asp.net-core asp.net-core-tag-helpers

我在asp.net核心的表单内有一个按钮。表单具有自己的提交按钮,该按钮应在单击时触发创建操作。我还有另一个按钮insde的形式,它只是调用一段javascript代码。我不明白为什么当我单击按钮以调用javascript时,之后也会调用发布操作“创建”。那就是我看到警报框,然后通过操作重定向。我只想显示警报而不会触发操作方法。

function ValidateName() {
  var name = document.getElementById('btnName').value;
  alert(name);

}
<form asp-action="Create">
  <div class="form-group">

    <div class="form-group">
      <label asp-for="Name" class="control-label"></label>
      <input asp-for="Name" class="form-control" />
      <span asp-validation-for="Name" class="text-danger"></span>
    </div>
    <div class="row">
      <div class="col-md-6 text-center">
        <button id="btnName" class="btn btn-primary btn-md center-block" Style="width: 150px;" OnClick="ValidateName()">Validate</button>
      </div>
    </div>
  </div>

  <div class="form-group">
    <input type="submit" value="Créer" class="btn btn-default" />
  </div>
</form>

1 个答案:

答案 0 :(得分:0)

您需要防止默认行为

function ValidateName(e) {
    e.preventDefault();
    var name= document.getElementById('btnName').value;
    alert(name);

}