タグ付けされた質問 「ajax」

JavaScript / PHPコードに関する質問に使用して、非同期Webアプリケーションを作成します。

6
AJAXを使用してフォームを検証および送信する方法
Form APIを使用してWebフォームを作成しました。#AJAX各フィールドにAJAX検証を追加するためにフィールドオプションを使用しています。 ページをリロードせずにAJAXを使用してフォームを検証および送信することは可能ですか?検証が失敗した場合はエラーメッセージを表示し、検証が成功した場合はメッセージ(理想的にはライトボックス内)を表示してフォームフィールドをリセットします。 これまでの私のコード: $form['name'] = array( '#type' => 'textfield', '#title' => t('Name'), '#default_value' => '', '#maxlength' => '128', '#required' => TRUE, '#ajax' => array( 'callback' => '_validate_name', 'wrapper' => 'name-error-icon-container', 'method' => 'html', 'effect' => 'none', 'progress' => array( 'message' => NULL, ), ), ); $form['submit'] = array( '#type' …
12 7  forms  ajax 

4
AJAXによるステータスメッセージ
標準のAJAXフレームワークを介してdrupal 7でAJAX呼び出しを行っています。私の問題は、ステータスメッセージがAJAXコールバックによって設定されると、単に失われる(またはページの次のリロード時に表示される)ことです。AJAXコールバックの実行が完了した直後に、ページをリロードせずにステータスメッセージを表示するにはどうすればよいですか?そのためのモジュールはありますか?

3
Ajaxの成功後にDrupal.attachBehaviorsをトリガーする方法
リンクをクリックしたときにajaxを介してノードを更新するモジュールがあります。 リンクはトグルです。最初のクリックでノードを値1で更新し、その後のクリックで値0でノードを更新する必要があります。 以下のコードは、ページの読み込み後の最初のクリックでは機能しますが、その後のクリックでは機能しません。クリックするたびにDrupal.attachBehaviorsを呼び出し/トリガーする必要があると思いますが、これを行う方法がわかりません。 モジュール function mymodule_menu() { $items['mypath/%/%/ajax'] = array( 'title' => 'My title', 'page callback' => 'mymodule_ajax_callback', 'page arguments' => array(1,2), 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); ... } function mymodule_ajax_callback($id, $status) { //Validation[...] //Node Update using $id as the nid and $status as the field …
10 7  ajax  javascript 

8
#ajaxボタンをクリックしたときにJS確認ポップアップを追加する方法
#ajaxが有効になっている基本的なFAPIボタン入力があり、それは正常に機能していますが、JSを追加しますか?「本当によろしいですか?」コードが実際に実行される前にボタンをクリックすると確認ポップアップが表示されます。FAPIのJSは、何をしようとそれに到達する前にクリックを食べているようなので、その方法はわかりません。 私は次のようにインラインのonclickハンドラーを追加しようとしました: $form['search_filters']['channels']['channel_delete_' . $channel->nid] = array( '#type' => 'button', '#name' => 'channel_delete_' . $channel->nid, '#value' => 'Delete', '#attributes' => array( 'class' => array('confirm'), 'onclick' => "return confirm('Are you sure you want to delete that?')" ), '#button_type' => 'no-submit', '#ajax' => array( 'callback' => 'delete_channel_callback', 'wrapper' => 'channel_container_' . $channel->nid …
10 7  forms  ajax  javascript 

1
合計費用を示すラインアイテムを追加する
Ubercart 2で、販売価格ではなく、すべてのアイテムの合計コストを合計するラインアイテムを追加するにはどうすればよいですか?一般的なラインアイテムフックを複製して、コールバックに次のようなものを追加しようとしました: for each($op->products as item){ $cost += $item->cost; } カート(ajaxカートを使用している)、ユーザーがチェックアウトを完了する前の注文ウィンドウ、およびストアの所有者とユーザーが受け取る電子メールにこのラインアイテムを表示する必要があります。uc_order外でこのコード用の小さなモジュールを作成する必要がありますか?自分の仕事用コンピューターにあるコードを正確には覚えていませんが、間違った場所に配置していると思います。ポインタをありがとう。
10 ajax  ubercart 

2
Drupalに新しいAjaxされたコンテンツにDrupalの動作を強制する[Drupal.attachBehaviors()のみが正しく機能していない]
私はこのトピックについてdrupal.orgに多くの投稿をしていましたが、残念ながら間違ったコンテキストでした。 Ajaxされたコンテンツが必要なJSとCSSを添付していない(フォーラム) Ajaxされたコンテンツが必要なJSおよびCSSを添付していない(問題) それは問題ではないと思うので、別の方法で試してみます。おそらくこれが解決策になるかもしれません。PHPページ全体をロードしてajaxで特定のdivを抽出しても、正しく機能しませんでした。だから、私はdrupalにコンテンツだけをロードさせて、それをajaxでdivに注入できると思いました。リクエストされたURLで「ajax = 1」を探しているhook_preprocess_pageとhook_preprocess_nodeを使用してクエリを作成し、ページ全体ではなくコンテンツのみを提供しました。そして今、特定のtpl.phpファイルの助けを借りて、理論的には、drupalの出力を$ contentのみに制限することができました。そしてここに問題があります。tpl.phpファイルを元の方法のままにしても、私のアプローチは機能していますが、node-ajax.tpl.phpから「$ content」を削除しています。「正しく動作する」とは、drupalがページ全体をリロードしないことを意味します。しかしもちろんコンテンツではありません。しかし、私はそれを自分自身に説明することはできません。$ content変数で発生するため、生成されたコンテンツのhtmlのみであると思いました。だから私の質問は、drupalの出力をコンテンツだけに制限するにはどうすればよいですか、またはこれを機能させるために間違った手順を実行していますか?これが私が使用しているモジュールとjsファイルです:my_ajax.module: <?php function my_ajax_init() { drupal_add_js(drupal_get_path('module', 'my_ajax') . '/my_ajax.js'); } function my_ajax_preprocess_page(&$vars, $hook) { if (isset($_GET['ajax']) && $_GET['ajax'] == 1) { $vars['template_file'] = 'page-ajax'; } } function my_ajax_preprocess_node(&$vars, $hook) { if (isset($_GET['ajax']) && $_GET['ajax'] == 1) { $vars['template_file'] = 'node-ajax'; } } …
10 7  ajax  javascript 

6
リンクウィジェットのオートコンプリートに10を超えるアイテムを表示するにはどうすればよいですか?
これはリンクモジュールに関する質問です。Linkモジュールを使用すると、外部リンクと内部リンクの両方を入力できるため、これに強く依存しています。 残念ながら、オートコンプリートフィールドから表示されるアイテムの数は10に制限されています。ほぼ同じタイトルのノードが多数あるため、検索しているノードがある場合、オートコンプリートフィールドに表示されません。 10以上の一致するタイトル。 制限はにハードコーディングされていcore/lib/Drupal/Core/Entity/EntityAutocompleteMatcher.phpます。カスタムモジュール内からこの小さな数を増やすエレガントな方法はありますか?延長する必要がありclass EntityAutocompleteMatcherますか?拡張機能をどこに配置し、リンクウィジェット内から確実に実行されるようにする必要がありますか?
10 8  navigation  ajax 

5
Ajaxを介して選択リストの値を更新するときに「不正な選択が検出されました」を回避するにはどうすればよいですか?
フォームにユーザーエンティティへのエンティティ参照フィールドが4つあります。ホストフォームはノード編集フォームです。3つは選択リストで、最後はインラインエンティティフォームです。 IEFを介してユーザーエンティティを追加した後、選択リストの値を更新しようとしています。 function ebep_users_feature_users_list_ajax($form, $form_state) { $ief = array_shift($form_state['inline_entity_form']); $options = array('_node' => t('- None -')); $commands = array(); foreach($ief['entities'] as $data) { $options[$data['entity']->uid] = $data['entity']->name; } foreach(_ebep_users_feature_getUserListFieldNames() as $fieldName) { $form[$fieldName]['und']['#options'] = $options; $commands[] = ajax_command_replace('#'.$fieldName.'_wrapper', drupal_render($form[$fieldName])); } return array('#type' => 'ajax', '#commands' => $commands); } それは機能しますが、IEFを介して別のユーザーを追加しようとすると、次のようになります。 違法な選択が検出されました。サイト管理者に連絡してください。
10 7  ajax  forms 

2
ビューが公開されたフィルターの自動送信がフォーカスを失う
ajaxを有効にしてビューをセットアップしました。また、ユーザーがテキストフィールドに入力するとビューが自動的に更新されるように、自動送信をオンにした公開フィルターを追加しました。問題は、フォームが自動送信すると、テキストボックスがフォーカスを失うことです。 公開されたフォームを別のブロックに分離する必要があることを読みましたが、私のビューはブロック自体であるため、このオプションは使用できません。 入力を続けるためにテキストボックスをクリックし続けるのは大変な苦痛なので、どんな助けでもありがたいです。
9 7  ajax  views 

3
進行状況バーを作成するにはどうすればよいですか?
Drupal 7を使用してプログレスバーを実装する必要があります。これは私が実際に使用しているコードです。 $form[$name][$name.'_enc'] = array( '#type' => 'submit', '#value' => t($name.' Enable'), // '#submit' => array('submit_'.$name.'_enc'), '#ajax' => array( 'callback' => 'submit_'.$name.'_enc', 'wrapper' => 'ajax-response-goes-here', 'method' => 'replace', 'effect' => 'fade', 'progress' => array ( 'type' => 'bar', 'message' => 'convert..', 'url' => 'misc/progress.js', 'interval' => '1500' )
9 7  forms  ajax 


2
AJAXコールバックでカスタムJS関数を呼び出しますか?
AJAXコールバックでカスタムJS関数を呼び出すことは可能ですか? function MY_MODULE_ajax_callback() { // Define a new array to hold our AJAX commands. $ajax_commands = array(); // Create a new AJAX command that replaces the #page text with our own text. $ajax_commands[] = [CUSTOM JS FUNCTION] // Return our commandS return array('#type' => 'ajax','#commands' => $commands); }
8 7  ajax 


6
このDrupalサービスRESTful APIが機能しないのはなぜですか?
私はDrupal 7でサービスモジュールを使用しています。AJAXを介して検索用語を送信し、タイトルに緩やかに一致する上位5つのノード(ノードidとtitle)を含む配列を受け取ることができるサービスを実装したいと思います。http://example.com/api/に接続すると、次のメッセージが表示されます サービスエンドポイントの「検索」が正常にセットアップされました。 しかし、http://example.com/api/search/Testなどに移動しようとすると、404が表示されます。
8 7  nodes  ajax  services 

3
ajaxを使用して、1つの入力から複数のフォーム要素をターゲットにできますか?
私はajaxを使用して、1つのフォーム入力ブラーからdrupalフォームの2つの異なる部分を更新しようとしています。 私の入力には標準のajax要素があります。 $my_form['my_input']['#ajax'] = array( 'callback' => 'my_callback', 'wrapper' => 'my_target_div', 'event' => 'blur', ); これはうまく機能していて、入力が更新されたときにdivをスワップアウトします... しかし、元の入力がぼやけた結果として、別のフォーム入力をフォーム内の別のコードで更新したいと思います。 これは可能ですか? 編集:わかりやすくするために、ここに私の実際の例を示します。 コンテンツタイプ「映画」 「primary_title」フィールドを追加しました 'primary_title'が更新されると、私のajaxコールバックは同様の文字列をチェックし、htmlを返します。 コールバックからのhtmlは空のdivに挿入されます。 その部分はうまくいきます! 標準ノードの「title」入力も変更しようとしています。文字列を整理するための正規表現をいくつか実行した後、「primary_title」の値を指定します(最初から「The」または「A」を削除します)結果2つのタイトルフィールドがあり、1つは完全なタイトル 'primary_title'で、もう1つはレコードの並べ替えと表示に役立つ1つのトリミングされた 'title'です。
8 7  forms  ajax 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.