問題タブ [unobtrusive]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - アクセスを試みるときに目立たないように関連付けのレコードを作成しますか?
2つのモデル間に単純なhas_one/belongs_to関係があります。
これは私のアプリケーションの新しい関連付けであるため、関連付けられたレコードがまだ作成されていないレコードが多数あります。
アプリケーション全体を通して、モデルに関連付けがあり、その属性とメソッドにアクセスしていると想定しています。ただし、関連付けが存在しないため、多くのエラーが発生しています。
私がやりたいのは、メソッドと属性のいずれかを介して初めてアクセスするときはいつでも、関連するレコードをその場で目立たないように構築することです。レコードにデータがあるかどうかは関係ありません。呼び出しているメソッドがデータを作成できるように、データが存在している必要があります。
編集:リレーションシップにアクセスしようとしているすべてのインスタンスでレコードをチェックして作成したくないので、理想的には、これはモデル自体で実行する必要があり、コントローラーでは実行しないでください。
何かご意見は?
ありがとう!
jquery - CakePHP と jQuery - 目立たないアクション
CakePHP でブックマークを削除するための控えめなアクションを作成しようとしています。うまく機能していますが、これを行うにはもっと良い方法があるに違いないと思います。誰かが私を正しい方向に向けてもらえますか?
jquery - 目立たない Ajax を使用しているが、フェッチされているページの Javascript を実行している
Javascript なしで動作するページから始めて、Javascript の奇抜さを追加し、最後に Ajax を少し追加したいと考えています。
これはすべてのものをきれいに保つようです。私はそれを使った最初の実験にとても満足していました. 次に、次の問題に遭遇しましたが、これには適切な解決策がありません。これらの 2 つのサンプル ページの場合:
欲しい機能
Ajax を使用して、/products/
ページ上の製品の詳細の一部を動的に読み込みます (たとえば、サムネイルにカーソルを合わせたとき)。/details/<id>/
より正確には、ページ上のの簡略化されたバージョンを取得して表示し/products/
ます。
目立たない実装
写真をホバリングするときhref
に、対応するアンカーの属性に対して Ajax リクエストを行います。サーバーはページ全体で応答でき/details/<id>/
、JQuery セレクターは興味深い部分だけを切り取ることができます。または、サーバーはリクエストが特別であることを認識し、興味深い部分だけを返すこともできます。これまでのところ、簡単できれいです。
問題
/details/<id>/
ページは単なる HTML ではありません。見栄えを良くするために独自の Javascript も用意されていたので、その Javascript を/products/
ページで再利用したいと考えています。/products/
そのため、HTML をフェッチするだけでなく/details/<id>/
、本格的なページに存在する Javascript の動作も複製したいと考えてい/details/<id>/
ます。
私が考えることができる唯一の(悪い)解決策
ページをロードするときにブラウザーが行うことを複製する明示的なコードを記述し/details/<id>/
ます<script>
。これは、正しく理解するのが難しいと思われる多くの定型的なものです。結果は単純ではないので、明らかに書きたくありません。
また、目立たない Ajax に本当に固執している場合に非常に頻繁に発生する種類の問題であり、それに対するより洗練された解決策があるはずだとも感じています。
asp.net-mvc-3 - ASP.NET MVC - jquery.validate.unobtrusive libでダブルクリック送信を防ぐ方法は?
ダブルクリックの送信動作を避ける必要があります。目立たないライブラリでクライアント検証を使用しています。ダブルクリックを回避するための次のコードがあります。
残念ながら、フォームに有効なフィールド (必須フィールドなど) が含まれている場合、上記のコードは引き続き実行されるため、フォームの間違いを修正しても、再度送信することはできません。
検証が正常に完了した後、ダブルクリック コードを起動するにはどうすればよいですか?
validation - ASP.Net MVC3 - EditorTemplate のレベルでカスタム クライアント検証を適用できますか
モデル内のフィールドの 1 つが EditorTemplate にバインドされている場合、モデル内のフィールドが検証属性で装飾されている場合、JavaScript の目立たない data-val-* パラメータが EditorTemplate に対して生成されます。
また、IClientValidatable で検証属性を実装してカスタム クライアント検証を適用し、このフィールドをそのカスタム属性で装飾すると、クライアント ルールのクライアント側で EditorTemplate の data-val-* 属性が生成されますか?カスタム検証属性を追加しますか?
私はそれが機能していないようです。クライアント側の属性を発行しません。
layout - さりげなくカートにブロックを追加する
私が取り組んでいるモジュールの場合、ショッピング カート画面にブロックを追加したいのですが、目立たないようにして、カートの内容の下で、他のブロック (クーポン、配送見積もり、合計、...)。
私は目立たない部分を行うことができました: オブザーバーがリッスンしcontroller_action_layout_load_before
、FullNameActionがcheckout_cart_index
私のレイアウト更新 xml ファイルのハンドルを追加する場合:
オブザーバー:
そしてレイアウトファイル:
これで、phtml ファイルの内容が表示されますが、必要な場所に配置できません。
私の最初の試みはbefore="name.of.block"
属性を使用することでしたが、うまくいきません。使用すると、ブロックbefore="whatever"
内のすべての前に配置され、使用するとすべての後に配置されます。要するに、それはの内容または考慮に入れません。Magento のコア モジュールの XML レイアウト ファイルを見て、前後に配置するブロックが左右の列の内側にある場合にのみ、および
の引数が表示されることに気付きました。だから私の推測では、それはそれらのコラムにとって特別なものだと思います。 checkout.cart
after="whatever"
before
after
before
after
私の質問は、コンテンツ内のブロックの場所を指定できますか? はい、どのように?
別の解決策は、ブロックを非同期的にロードすることです。これにより、選択した div に AJAX 呼び出しの結果を追加できますが、可能であれば「通常の」方法で実行したいと思います。
読んでくれてありがとう :)
asp.net-mvc - asp.net mvc-3 で控えめな ajax を使用するとコンテキストが見つからない
mvc-3 に同梱されている目立たない ajax に移行したところですが、ある時点で壊れています。これが私のリンクです
これは、成功時に呼び出される私のjs関数です
imran が問題の解決方法を説明しているこの記事を見つけました。ただし、jquery.unobtrusive-ajax.js に 1 行追加する必要があります。副作用はありますか?jqueryファイルを変更する必要がありますか? そうでない場合、jquery.unobtrusive-ajax.jsファイルを変更せずにクリックされたリンクのIDを取得するにはどうすればよいですか
jquery - Jquery対応の関数規則
違いは何ですか白黒
と
最初のコードスニペットは、ドキュメント対応の省略形です。2番目のコードスニペットについてはわかりません。それは何をし、最初のコードスニペットとどのように違うのですか。
asp.net-mvc-3 - jQuery.validator.unobtrusive.adapters.addMinMaxラウンドトリップ、MVC3では機能しません
DataAnnotations、jQuery.validate、jquery.validate.unobtrusiveを使用して日範囲バリデーターを作成しています。私はすでに以下を読みました:http: //bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html
およびその他ですが、投稿できません(noob)
SOに関する投稿のほとんどと同様に。私は壁に頭をぶつけているので、どんな助けでもビール/食べ物/コードなどで報われる可能性があります;)とにかくここにコードがあります:
次のパラメータを持つモデルオブジェクトがあります。
DayRangeはカスタム属性クラスです:
web.configに次のものがあります。
ドキュメントの準備ができる前に次のJSトリガーがあります(ドキュメントの準備ができたときにトリガーしようとしました):
私は何が間違っているのですか?よろしくお願いします、ジョル
.net - 部分ビューでは data-val* 属性なし
メインビューモデルに渡される部分ビュー(以下で説明し、フォームを持たない)を呼び出す Html.BeginForm() を含むビューがあります。モデルにはデータ注釈があります。
適切な値を選択せずに送信しようとすると、ページの初期ロード時に検証が完全に機能します。
また、ページに別のボタンがあり、クリックすると同じ部分ビューの別のインスタンスがページに読み込まれます。コントローラーへの $.ajax() ポストを使用すると、PartialView だけが返され、既存の div に追加されます。
これらの動的コントロールをフォームに送信しようとすると、それらは同じモデルにバインドされており、正しい .ValidationMessageFor ヘルパーを設定しましたが、コントロールが data-val で生成されていないように見えるため、それらの検証は表示されません。 *属性。
私はフィドラーを使用し、コントローラーへの $.ajax ポストが、生成された場所でも単純で ValidationMessage のない部分ビューを生成することを発見しました。したがって、追加された動的コントロールに控えめな JavaScript を使用することはできません。
常にフォーム内にビューを配置する必要がありますか?その場合、ネストされたフォームがあり、うまく機能しません。
EDIT 1 :質問ViewContext.FormContext = new FormContext で Adam Tuliper が述べたように、すべての data-val* 属性を含む部分ビューが生成されました。したがって、上記の質問に答えます。現在、動的コンテンツの検証が起動していませんでした。エリック(コメントセクション)に従って、フォームバリデーター[form.removeData( 'validator');]を削除し、動的コンテンツの検証も開始しました。
以下は部分的なビューです
そして、これは部分ビューのモデルです