検索

ホームページ  >  に質問  >  本文

ボタンをクリックするとフォームが更新されます。

<p>2 つのボタン ラベルを持つ Angular のフォームがあります。ボタンは、<code>ng-click</code> でフォームを送信します。もう 1 つのボタンは、<code>ng-click</code> を使用したナビゲーション専用です。ただし、この 2 番目のボタンをクリックすると、AngularJS によってページが更新され、404 エラーがトリガーされます。関数にブレークポイントを設定すると、関数がトリガーされます。次のいずれかを行うと停止します。 </p> <ol> <li><code>ng-click</code> を削除すると、ボタンによってページが更新されなくなります。 </li> <li>関数内のコードをコメントアウトしても、ページは更新されません。 </li> <li>ボタンのラベルをアンカー ラベル (<code><a></code>) に変更し、<code>href=""</code> を追加しても更新されません。 。 </li> </ol> <p>後者が最も簡単な解決策のように思えますが、AngularJS が関数の後にページのリロードを引き起こすコードを実行するのはなぜですか?バグのようです。 </p> <p>これは次の形式です: </p> <pre class="brush:php;toolbar:false;"><form class="form-horizo​​ntal" name="myProfile" ng-switch-when="profile"> <フィールドセット> <div class="コントロールグループ"> <label class="control-label" for="passwordButton">パスワード</label> <div class="コントロール"> <button id="passwordButton" class="secondaryButton" ng-click="showChangePassword()">変更</button> </div> </div> <div class="buttonBar"> <button id="saveProfileButton" class="primaryButton" ng-click="saveUser()">保存</button> </div> </フィールドセット> </form></pre> <p>これはコントローラー メソッドです: </p> <pre class="brush:php;toolbar:false;">$scope.showChangePassword = function() { $scope.selectedLink = "パスワード変更"; };</pre> <p><br /></p>
P粉523625080P粉523625080516日前507

全員に返信(2)返信します

  • P粉637866931

    P粉6378669312023-08-15 11:55:54

    デフォルトのハンドラーをブロックしてみてください:

    html:

    リーリー

    js:

    リーリー

    返事
    0
  • P粉821274260

    P粉8212742602023-08-15 11:39:51

    W3C 仕様 を見ると、送信したくないボタン要素に type='button' をマークすることを試すのは明白なようです。 。

    記載されている場所には特別な注意を払う必要があります

    返事
    0
  • キャンセル返事