停止提交按钮不发布并返回同一页面

时间:2020-06-15 17:40:21

标签: javascript angularjs button

<div>
  <div>
    <fieldset>
      <div style="min-height: 600px;">

           <div class="row">

    <div class="col-xs-12">
      <div class="form-group">
        <label class="control-label" for="Order">Order<span style="color:red !important;">*</span></label>
        <input class="form-control" name="Order" id="sortOrder" type="number" placeholder="Order" ng-model="vm.sortOrder" autocomplete="off" required/>
      </div>
    </div>
    <br>  <br>
  </div>




      <div class="row"></div>  
    <div class="row">
      <div class="col-xs-12 form-group">

        <md-button class="md-raised md-primary" type="button" ng-click="vm.doSomeThing()">Do</md-button>

      </div>  
    </div>

    </div>
    </fieldset>
  </div>
  </div>

当我单击“执行”按钮时。我希望它触发doSomething,然后返回同一位置,并且不提交表单或更改页面。即使我输入类型=“ button”而不提交,它也将我从当前使用的模式重定向到其他地方。我不明白为什么?我尝试了此页面Can I make a <button> not submit a form?上的一些解决方案...它们不起作用

3 个答案:

答案 0 :(得分:1)

您可以使用'preventDefault'事件来停止按钮的提交。 请参考一下。 https://www.w3schools.com/jsref/event_preventdefault.asp

答案 1 :(得分:1)

我看到您正在使用Angular。我在此解决方案中使用了简单的JavaScript和HTML。您可以修改以使您的代码返回正确的布尔值,或者如果需要的话,也可以将硬代码返回“ false”。关键元素是onclick子句:onclick =“ return doSomeThing();”

<script>
    function doSomeThing() {
        var shouldISubmit = false;
        return shouldISubmit;   // You can conditionally return true (submit) or false (do not submit)
    };
</script>

<form>
    <div class="col-xs-12 form-group">
        <button type="submit" onclick="return doSomeThing();">Do</button>
    </div>
</form>

答案 2 :(得分:1)

在我的项目中发生的事情完全无关,这就是问题所在。当我单击提交时,有一种方法可以将其重定向到其他页面。我只是更改了该方法,现在它不发布并返回同一页面。这是我的项目特有的。