当前位置: 首页 > 面试题库 >

单击表单中的按钮可刷新页面

楚雪松
2023-03-14
问题内容

我在Angular中有一个表单,其中有两个按钮标签。一键提交表单ng-click。另一个按钮仅用于使用进行导航ng- click。但是,当单击第二个按钮时,AngularJS导致页面刷新,从而触发404。我在函数中删除了一个断点,并触发了我的函数。如果我执行以下任何操作,它将停止:

  1. 如果删除ng-click,该按钮不会导致页面刷新。
  2. 如果我注释掉函数中的代码,则不会刷新页面。
  3. 如果我使用将按钮标签更改为锚标签(<a>href="",则不会刷新。

后者似乎是最简单的解决方法,但是为什么AngularJS在我的函数之后甚至运行任何导致页面重新加载的代码?好像是个错误。

形式如下:

<form class="form-horizontal" name="myProfile" ng-switch-when="profile">
  <fieldset>
    <div class="control-group">
      <label class="control-label" for="passwordButton">Password</label>
      <div class="controls">
        <button id="passwordButton" class="secondaryButton" ng-click="showChangePassword()">Change</button>
      </div>
    </div>

    <div class="buttonBar">
      <button id="saveProfileButton" class="primaryButton" ng-click="saveUser()">Save</button>
    </div>
  </fieldset>
</form>

这是控制器方法:

$scope.showChangePassword = function() {
  $scope.selectedLink = "changePassword";
};

问题答案:

如果您查看W3C规范,似乎很容易尝试做的事情是在type='button'不想提交按钮元素时标记它们。

特别要注意的是它说的地方

未指定类型属性的按钮元素与将其类型属性设置为“提交”的按钮元素代表相同的事物



 类似资料:
  • 我有一个Angular的表单,里面有两个按钮标签。一个按钮提交上的表单。另一个按钮是纯导航使用。然而,当点击第二个按钮时,AngularJS会导致页面刷新,从而触发404。我在函数中删除了一个断点,它正在触发我的函数。如果我执行以下任何操作,它将停止: 如果我删除,则该按钮不会导致页面刷新 如果我注释掉函数中的代码,它不会导致页面刷新 如果我将按钮标记更改为锚定标记(

  • 问题内容: 在表单中使用按钮时出现问题。我希望该按钮调用功能。它确实可以,但是刷新页面的结果令人讨厌。 我的简单代码是这样的 单击该按钮后,该函数将在页面刷新时被调用,这会重置所有我先前的请求,这会影响到当前页面,这是先前请求的结果。 我应该怎么做才能防止页面刷新? 问题答案: 让我们返回false。这将解决它。

  • 我试图用按钮点击刷新一个div,但一定是出了什么问题。我也在使用ASP.NET和jquery。如果你们能帮我那就太棒了 这里有完整的代码

  • 问题内容: 我无法相信这行不通。 我有一个JList。我将其渲染器设置如下。基本上是一个带有两个标签和一个按钮的JPanel。 这是我的TopBottomCellRenderer。 该列表可正确呈现,但不可单击。单击它没有任何作用。 我该如何工作? 问题答案: 渲染器只是在组件上绘制的“橡皮图章”。它们不是实时的交互式组件。 请参阅以下答案:JList中的JButton以获得一种可能的解决方案。实

  • 问题内容: 我正在尝试提交没有页面刷新或提交按钮的表单。但是我只实现了让JS函数提交输入框值。是否可以在不单击按钮和刷新页面的情况下提交整个表单? JSFIDDLE JS html 问题答案: 您的小提琴似乎正在工作,但是问题是您没有真正将其提交到任何地方。

  • 问题内容: 我需要自动单击网页中的任何“添加”按钮,如下所示: “ https://groceries.asda.com/search/yoghurt ” 但是,页面中的“添加”按钮都没有名称或ID。所以我不能使用Selenium包中的命令。 谁能帮我? 问题答案: 要单击特定产品的任何特定按钮,可以编写如下方法: 现在,您可以单击传递其标题的任何按钮,如下所示: