問題タブ [ujs]
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.
jquery - jquery_ujs 応答で Javascript ERB テンプレートの Coffeescript テンプレートを呼び出すにはどうすればよいですか?
Rails 3.1 アプリでCoffeescript テンプレートを使用しているため、app/assets/javascripts/post.js.coffee ファイルには次のようなものがあります。
post は JSON オブジェクトです。テンプレートは app/assets/javascripts/templates/posts/show にあります
現在、jquery_ujs を使用して PostsController#create に応答し、app/views/posts/show.js.erb を使用して応答をレンダリングしたいと考えています。show.js.erb では、上記のテンプレートを使用したいと思います。どうすればそれを行うことができますか?ありがとう。
javascript - Rails 3.0 :remote => true with ie9 送信ボタンをクリックすると、フォームが二重に送信されます
form_for に通常の :remote => true オプションを使用している Rails 3.0 アプリがあります。IE9 を除くすべてのブラウザで正しく動作します。IE8でも問題なく動きます。しかし、IE9 では、送信ボタンをクリックすると、F12 開発者ツールを使用してサーバーに 2 つの要求を発行していることがわかります。
form_for は次のとおりです。
<%= form_for @project, :project, :url => create_project_url, :remote => true do |f| %>
送信ボタンは次のとおりです。
<%= submit_tag '作成' %>
F12 情報を見ると、「JS Library XMLHttpRequest」によって開始された 1 つの要求と、「クリック」によって開始された 1 つの要求が示されています。
これを防ぐ方法を知っている人はいますか?
ruby-on-rails - Rails UJSでタイムアウトを設定するには?
新しいクールな構文により、次のように書くことができます。
AJAX リクエストを生成します。しかし、より長いタイムアウト (例: 100000ms) が必要な場合は、どこで設定できますか? link_toを読みましたが、何も見つかりませんでした。
javascript - 送信前にXHRリクエストにデータを追加するにはどうすればよいですか?
RailsUJSを使用してremote=trueで送信するフォームがあります。
beforeSendイベントで、データを追加したいと思います。私は次のことを試みています:
しかし、これは、settings.dataからログアウトするときにオブジェクトを追加しています...これらのアイテムをsettings.dataに追加する正しい方法は何ですか?
ありがとう
アップデート
私もやってみました:
しかし、それはうまくいきませんでした。私が見るログで:
なぜオブジェクトオブジェクトはnilなのですか?
ありがとう
javascript - beforeSendイベントでajax Postデータを変更するには?
こんにちは、jQuery UJS for rails を使用してリモートで送信するフォームがあります。サーバーに送信するデータを変更できるようにするために、 beforeSend イベントにバインドしました。動いていない。beforeSend にあるものは次のとおりです。
これはうまくいきません。サーバーログには、次のように表示されます。
私が間違っていることは何か分かりますか?フォームにないフィールドを追加して settings.data をカスタマイズしたいと考えています。ありがとう
jquery - toggleClass を ajax:success コールバックにバインドします
データベース内のブール フィールドを切り替えるリンクがあり、条件付きヘルパー メソッドに基づいて、ajax:success のリンク テキストを切り替えます。
フィールド値は正常に更新されます。
同時にリンク クラスを切り替えようとしていますが、これは 2 回目のクリックでしか機能しないようです。
これを達成するにはどうすればよいですか?明らかなことを見逃していますか?ありがとう!
ruby-on-rails - Rails 3.1 ブログの投稿/コメント モデル -- ajax 経由でコメントを送信するには?
リモート フォームの使用と、Post モデルに多数のコメントがあるアプリの例を使用して学習しようとしています。
投稿/コメントモデル、コントローラー、デフォルトビュー、ルートなどを作成/セットアップするために一般的なレール足場を使用したと仮定すると、どのapp/views/posts/show.htmlように見えるでしょうか?
特定の私は混乱しています:
- コメント フォームの投稿先はどこですか?
- どのパラメータを含める必要がありますか?
- 次のような隠し属性を使用する必要がありますか?
f.hidden_field :post_id, :value => @post.id
ありがとうございました!
javascript - rails ujs - JavaScriptが実行されない
これは非常に奇妙な問題です。UJSを使用して、ページ上のある部分を別の部分に置き換えるレールアプリがあります。最近、機能しなくなったので、プロセス全体のログを記録して、どこが壊れているかを確認しました。これが私が見つけたものです:
- リンクをクリックすると、Rails コンソールは、すべてのパーシャルを含むすべてがレンダリングされたことを通知し、200 OK を返します。
- A puts in the controller actions return fine
- Respond.do ブロックに put を入れると、正常に返されます
- .js.erb ファイルに puts すると正常に返されます
これは、.js.erb ファイルを実行し、Ruby をエラーなしで評価するところまで進んでいることを意味します。しかし、これは奇妙なことです-javascriptのどれも実行されていません。.js.erb ファイルでアラート ('hello?') を実行すると、実行されません。
誰もこの問題に遭遇したことがありますか? js ではなく erb 評価を実行するのは非常に奇妙に思えます。また、js コンソールにもエラーは表示されません。
記録のために、キャッシュをクリアし、ブラウザーを再起動し、Rails アプリを再起動しましたが、何も変わりませんでした。
サンプルコード:
この奇妙な問題に少し光を当てることができる人に感謝します!
javascript - Rails 3アプリで目立たないJavaScriptが機能しない
私のサイトに mixpanel のコードを追加しようとしています。ただし、フォームの onsubmit を実行すると、Rails 3 アプリで JavaScript を取得してイベントを追跡できません。このコードは、Chrome のコンソール ウィンドウから機能します。助言がありますか?以下は、私の html.erb ファイルのコードです。これは、mixpanel から提供された JavaScript とともに、ファイルの先頭に配置されます。
送信を追跡するためにフォームにあるコードは次のとおりです
ありがとう
生成されたjs
生成されたhtml
ruby - Rails 3 で AJAX を使用してフォームに入力する
Rails は初めてで、値がキー テキスト フィールドに配置された後、AJAX を使用してフォームのテキスト フィールドを更新したいと考えています。
次のようなものを使用してイベントハンドラーを作成できることがわかりました。
しかし、これは UJS の概念と一致しているようには感じられません。フィールドにデータを入力して、[送信] ボタンが押されるまでレコードの作成を遅らせる別の方法はありますか?