ボタンをクリックするとフォームが更新されます。
P粉523625080
P粉523625080 2023-08-14 20:46:02
0
2
487
<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粉523625080
P粉523625080

全員に返信(2)
P粉637866931

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

html:

リーリー

js:

リーリー
いいねを押す +0
P粉821274260

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート