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

フォームAPIに関する質問に使用します。エンティティまたはエンティティフィールドフォームには使用しないでください。

1
登録フォームの変更
Drupal 7のデフォルトの新規ユーザー登録フォームを改訂したいと思います。「username」を要求するのではなく、「username is your full name」を通常使用するように、「username is your full name」というヘルパー指示とともに「full name」をリクエストしたい」 同様に、他にもいくつかのマイナーなフォーマット変更があるかもしれません。 この質問に関連するものにアクセスするための管理メニュー項目が見つかりません。また、新しいユーザー登録フォームのソースであることを示すテキストが含まれているファイルをディレクター内で見つけることはできません。 これは少し型破りなことですが、私たちのニーズには役立ちます。名/姓の入力を許可するモジュールを認識していますが、処理中に入力を最初のイニシャル/姓に変更します。つまり、Tom Thumb = "tthumb"のユーザー名です。モジュール「Realname Registration」は、ユーザー名を入力と同じように変換するだけの場合に私が探しているものです。 これで他の書式設定の編集が必ずしも解決されるわけではありませんが、ユーザー名フィールドの下の登録フォームのヘルプテキストを手動で編集して、新しいユーザーに実際の名前を使用して登録するように指示できれば非常にうれしいです。 あなたが提供できるあらゆる助けをありがとう。 JM
8 7  forms  users  nodes 

1
Ajaxフォームが送信されないようにする方法
以下のコードは、非ajaxフォームの送信をブロックします。 $(this.form) .on('submit', function(event) { if (/* Some condition */) { event.preventDefault(); } }); Drupal 8では、Ajaxフォームの送信をどのようにブロックできますか? Ajaxフォームはフォーム送信ハンドラーをトリガーせず、Ajax化されたフォームの送信ボタンでクリックイベントをブロックできませんでした。 参考までに、問題#3010084を修正しようとしています。ファイルのアップロードが完了する前にフォームの送信が完了します
8 8  forms  ajax  webforms 

4
入力を可能にするためにテキストフィールドでのajax呼び出しを遅らせる
オートコンプリートが機能しているように見えるのと同じ方法で、ajaxの起動を遅らせたいと思います。たとえば、ユーザーが入力すると、最後のキーアップから500msが経過するまでajaxは実行されません。 現在、drupal.behaviorsを調べていますが、機能させることができません。 Drupal.behaviors.mymodule = { attach: function(context, settings) { $('input.andtimer', context).delay(500).ajaxStart(); } }; これは、動作が関連付けられているフォーム要素です。 $form['my_input'] = array( '#type' => 'textfield', '#default_value' => $value, '#ajax' => array( 'callback' => 'my_callback', 'event' => 'keyup', 'wrapper' => 'my_wrapper', 'trigger_as' => array( 'name' => 'my_button', ), 'progress' => array('type' => 'none'), ), '#attributes' => …

2
リバースプロキシを使用してフォームをキャッシュし、古いフォームトークンを処理する方法
Form APIがフォームを生成するとき、フォームとともに非表示フィールドに渡され、返されることが期待されるトークンも生成します。そうであれば、フォームは処理されます。 レンダリングされたフォームが、たとえばVarnishによってキャッシュされる場合、このメカニズムは機能しません。フォームを送信した最初のユーザーがトークンを使用し、その後のフォームの使用の試みは拒否されます。 レンダリングされたフォームをキャッシュしている間、フォームを機能させ続けるにはどのような戦略がありますか?
8 caching  forms 

2
krumo()/ dpm()が機能しない
これらの手順に従って、ノード送信フォームの外観を変更するためのカスタムモジュールとテンプレートがあります。 私のモジュールは3つの関数で構成されています: A hook_form_alter()罰金に動作します A hook_theme()何もするが、配列を返す、あなたが他のコードを入力しても、前にいないreturn(いないことを確認これは仕様の場合) hook_preprocess_HOOK()現在空のA dpm()同じ変数で動作するhook_preprocess_HOOK()ものの、では何もしないようです。Drupalメッセージを設定しますが、それを読み取ることはできますが、展開または検査することはできません。krumo()Array: [n] items 私のテンプレートでは、print_r($form);期待どおりにフォーム配列を出力します。dpm('self-aware roomba');予想通り、「自己認識ルンバ」のDrupalメッセージを設定します。しかしdpm($form); 何もせず、エラーをスローしません。 私を除くすべてhook_form_alter()は、リンクされたチュートリアルに表示されているとおりです。全体hook_form_alter()を引き出して、それがなくても機能するかどうかを確認することさえしました。そうではありません。 何がdpm()/ krumo()無言で失敗するのですか?

1
Drupal 7でAjaxをフォームで変更する方法
「メインメニュー」という名前のコンテンツタイプを作成しました。互いに依存している選択リストはほとんどありません。別のチェックボックスが選択されているときに別のリストを表示したいと思いました。私はそれを実現するためにフォームを編集するためにAjaxを使用する必要があることを理解しましたが、hook_form_alterでAjaxを使用する方法を誰かに教えてもらえますか? 編集するフォームのフォームIDは「main_menu_node_form」です。を使用してこのフォームにアクセスし、フォームフィールドのプロパティをhook_form_alter()追加しようとすると#ajax、ハンドルがに渡される前にフィールドが既にレンダリングされているため、そうすることができないようですhook_form_alter()。誰かがこれを解決するのを手伝ってくれませんか? 注:を使用してコンテンツタイプを作成しましたhook_install()。 function main_menu_content_type_form_main_menu_node_form_alter(&$form, &$form_state, $form_id) { dpm($form); dpm($form_state); $form['field_mlnk'] = array( '#ajax' => array( 'callback' => 'main_menu_content_type_form_main_menu_node_form_alter_callback', 'wrapper' => 'link-div', 'method' => 'replace', 'effect' => 'fade', ), ); }
8 forms  ajax 

3
カスタムモジュールでの画像のアップロード
カスタムモジュールを作成していますが、画像をアップロードするために必要です。これに関する適切なドキュメントを見つけるのに苦労していますが、もうすぐです。 何が欠けていますか?$ fileはフォーム送信でfalseを返します。 function mymodule_custom_content_block_form($form_state){ $form = array(); $form['custom_content_block_text'] = array( '#type' => 'textarea', '#title' => t('Block text'), '#default_value' => variable_get('mymodule_custom_content_block_text'), '#required' => true, ); $form['custom_content_block_image'] = array( '#type' => 'file', '#name' => 'custom_content_block_image', '#title' => t('Block image'), '#size' => 40, '#description' => t("Image should be less than 400 pixels …
8 7  forms  files 

3
form_set_error()を正しく使用するにはどうすればよいですか?
私のDrupal 7モジュールには、フォームとその検証ハンドラーがあります。フォームをfield.tpl.phpからprint render(drupal_get_form('my_form')); 期待どおりに動作します。 問題は、入力値が間違っている場合です。 エラーメッセージを表示する前に、2つの誤った送信が必要です。1回目は、間違った入力の周りに赤い枠があり、2回目は、エラーメッセージが表示されます(赤い枠が付いています)。 それで、正しい使い方はform_set_error()何ですか?
8 7  forms 

3
theme_item_listアイテムのレンダリング
私のモジュールは、いくつかの画像を含む順不同リストを含める必要がある単純なブロックを提供します。ブロック関数から、レンダリング可能な配列を返します: $block['content'] = array( 'list' => array( '#theme' => 'item_list', '#type' => 'ul', '#attributes' => array('class' => 'foo1'), '#items' => array( /* ... what should go here? */ ), ), ); いくつかのレンダリング可能な配列を項目リストの項目として使用したいのですが、#items配列を配列に挿入できません。 Drupalの7 theme_item_list APIのドキュメントは言います: items:リストに表示される項目の配列。アイテムが文字列の場合は、そのまま使用されます。項目が配列の場合、配列の「データ」要素がリスト項目のコンテンツとして使用されます。アイテムが「子」要素を持つ配列の場合、それらの子はネストされたリストに表示されます。他のすべての要素は、リスト項目要素の属性として扱われます。 「data」要素と「children」要素の両方を使用してみましたが、空<li>のが表示されるか、Arrayその中に単語が含まれています。 これを行う適切な方法は何ですか?theme_item_listは正しい/最新のソリューションですか?
8 7  forms  theming 

4
drupal 7のユーザー/登録ページフォームにテキストフィールドを追加するにはどうすればよいですか?
Drupal 7のユーザー/登録ページでテキストフィールドを変更して追加したい。フォームが関数によって生成されることを知っていますuser_register_form() この方法でテキストフィールドを追加できますか? function bartik_copy_user_login($form, &$form_state) { global $user; // If we are already logged on, go to the user page instead. if ($user->uid) { drupal_goto('user/' . $user->uid); } // Display login form: $form['name'] = array('#type' => 'textfield', '#title' => t('Username'), '#size' => 60, '#maxlength' => USERNAME_MAX_LENGTH, '#required' => TRUE, …
8 forms 

2
1ページに複数のフォームがありますか?
1つのページに複数のフォームを配置することはできますか? クーポン提供ページを作ろうとしています。ページの両側に2つの異なるオファーがある2つのフォームが必要でした。各フォームには、クーポンコードのテキストフィールドと独自の送信ボタンがあります。最初の形式は大丈夫です。ただし、2番目のフォームの非表示の値は、最初のフォームの値によってオーバーライドされるようです。 私はhook_alterを使用して2番目のフォームを変更して別のフォームにしていますが、最初のフォームと同じform_idを持っています。これが私の問題の原因ですか、それとも他の場所を調べたり考えたりする必要がありますか? 2つのフォームの「form_id」と「form_token」の値は同じですが、「form_build_id」の値は異なります。
8 6  forms 

5
ノード編集フォームのタイトルフィールドを無効にする方法は?
ノード編集フォームのタイトルフィールドを非表示または無効にするにはどうすればよいですか? コンテンツタイプの[フォーム表示の管理]タブ(admin/structure/types/manage/CONTENT_TYPE_MACHINE_NAME/form-display)から実行すると、ログに整合性制約エラーが発生します。 そのため、ノード編集フォームにデフォルトのタイトルフィールドを表示したくありません。タイトルフィールドを他のフィールドと同じように非表示にした場合。ノード作成後に白い画面が表示される。そして、ログはタイトルフィールドをnullにすることはできないと言っています... ...など...
8 8  nodes  forms 




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