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

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

4
ノード作成フォームをビュー内に埋め込むにはどうすればよいですか
いくつかのフィールドといくつかのリンクアイテムを含むビューがあります。 リンク項目をクリックすると、リンクに関連付けられたノード作成フォームがビュー内に表示されます(AJAXの方法)。 私が考えることができる解決策は、ビュー内にフォームを埋め込むことですが、それを行う方法がわかりませんか? これを実装する最良の方法は何ですか?
7 7  views  forms 

6
フォーム送信ボタンでFont Awesomeを使用するにはどうすればよいですか?
そこで、Drupal 7サイトでFont Awesomeを使用しています。Font Awesome Drupalモジュールを使用していません。template.phpでスタイルシートを宣言しているだけです。 function genchstyle_preprocess_html(&$variables) { drupal_add_css( 'http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css', array('type' => 'external') ); } これで、を使用すると<i class="icon-search"></i>、小さな虫眼鏡のアイコンが表示されます。 私は最近、フォームの[ 送信 ]ボタンをこのような画像に置き換える方法を学びました。 function genchstyle_form_alter(&$form, &$form_state, $form_id) { if ($form_id == 'search_block_form') { $form['actions']['submit']['#type'] = 'image_button'; $form['actions']['submit']['#src'] = drupal_get_path('theme', 'genchstyle') . 'images/search.png'; $form['actions']['submit']['#attributes']['class'][] = 'icon-search'; } } 送信ボタンをFont Awesomeアイコンに置き換える方法がわかりません。上記のスクリプトを使用するように調整してみたところ$form['actions']['submit']['#markup']、ボタンをアイコンに置き換えることができましたが、アイコンは機能している送信トリガー(またはリンク)ではなくなりました。 私はすべてのFont Awesomeの例を確認し、これから大まかにググってみましたが、解決策を見つけることができません。 助言がありますか?
7 forms 

3
複数の送信ボタン:どれが押されましたか?
これは、以下の重複している可能性があり、複数のフォームを提出したが、私は答えは私の状況に適用する方法を見つけ出すことができません。だからここに私がこれ(私は認めます)と非常によく似た質問をするのが私の挑戦です: データの行を持つテーブルがあり、各行に送信ボタンがあります。次のようになります。 $form['f'] = array(); foreach ($rows as $row) { $form['f'][$row['nid']] = array(); $form['f'][$row['nid']]['nid'] = array( '#markup' => $row['nid'], ); $form['f'][$row['nid']]['submit'] = array( '#type' => 'submit', '#value' => t('sumbit'), '#submit' => array('f_submit'), ); } つまり、フォームはデータベースから抽出された一連の行で構成され、対応するnidフィールドの値を取得してその値を出力する送信コールバックを作成します。下のコメントがあるところに何を付けたらいいのかと思っています。 function f_submit($form, &$form_state) { // Here I want to print the value of the relevant …
7 forms 

1
他のフィールドで検証が失敗したときにアップロードファイル情報をフォームに保持する
フォームに必須フィールドがあり( '#required'がTRUEに設定されている)、ユーザーがファイルをアップロードするように設定したが、すべての必須フィールドを提供していない場合、必須フィールドで検証が失敗し、検証フックが取得されない呼ばれる; 指定されたファイルはアップロードされず(アップロードコードが配置されている場合)、以前に提供されたファイル名が消去されずにフォームが更新されます。検証中にファイルをアップロードする方法、またはフォームフィールドのファイル名をリセットして、ユーザーが再度選択する必要がないようにする方法はありますか? ありがとう
7 files  forms 

3
FILE_EXISTS_REPLACEがあるにもかかわらず、ファイル保存アップロードで既存のファイルが置き換えられない
ユーザーが新しいバージョンをアップロードした場合、同じ名前の既存のファイルを強制的に置き換えようとしています。私はこのトピックに関する多くの投稿を見てきましたが、強制的に置換する方法を見つけることができたものはありません。 私はカスタムフォームを使用しており、フォームの検証中に機能させようとしてきたコードは次のとおりです。 $file = file_save_upload( 'file', array( 'file_validate_is_document' => array(), // Validates file is really a document. 'file_validate_extensions' => array('pdf doc ppt pps avi mpg mov wmv'), // Validate extensions. ), 'public://', FILE_EXISTS_REPLACE ); 改訂されたファイル(「file.jpg」としましょう)がアップロードされますが、Drupalは必然的に新しいコピーを作成し、新しいバージョンごとにfile_0.jpg、file_1.jpgなどの名前に変更します。 アップロードをコミットする前に "file_delete"を使用してプログラムで元のファイルを削除しようとしましたが、まだコピーを取得しています! 任意の助けいただければ幸いです。
7 7  forms  files 

1
ブラウザを更新すると、マルチステップWebフォームが現在のページを失う
3つのステップでWebフォームを作成しました。手順1と2でブラウザー(F5)を更新すると、同じページに正しくとどまります。 手順3で同じことを行った場合、手順2に戻ります。すべての手順> 2の場合、ページを更新すると手順2に戻ります。 同じWebフォーム設定(「送信を追跡するためにCookieを許可する」と「ページ間のドラフトとして自動的に保存する」)を変更しようとしましたが、結果はありませんでした。 匿名ユーザーを使用してWebフォームのページを閲覧しています。 誰かが解決策を持っていますか?
7 webforms  forms 

2
管理ファイル:#default_valueを設定する適切な方法は何ですか?
$form['picture']['file'] = array( '#type' => 'managed_file', '#title' => t('picture'), '#description' => t('Allowed extensions: gif png jpg jpeg'), '#default_value' => (isset($foo->picture->fid) ? $foo->picture->fid : ''), '#upload_location' => variable_get('picture_upload_location'), '#upload_validators' => array( 'file_validate_extensions' => array('gif png jpg jpeg'), // Pass the maximum file size in bytes 'file_validate_size' => array(MAX_FILE_SIZE*1024*1024), ), ); ここに上記のコードスニペットがあります。とても便利ですが、設定が大変です#default_value。 …
7 7  media  forms  files 

1
コードを介してノードを作成するための最良の選択は何ですか?
シナリオはこのようになり、多くの分類用語フィールドが含まれるノードタイプがあります。テキスト、日付などの他のフィールドもありますが、その90%は分類フィールドです。ノードはプログラムで2つの方法で作成できることを知っています。 node_save()-ノードオブジェクトを作成して保存する $node = new stdClass(); $node->type = 'article'; $node->field_term[LANGUAGE_NONE][0]['tid'] = 3128 // term id of the term node_save($node); フォーム送信-フォーム配列の作成とdrupal_form_submitを使用した送信 $node[field_first]['und'] => chennai; $node[field_second]['und'] => "iphone5"; $node['type'] = 'article'; $form_state['values'] = $node; $form_state['values']['op'] = t('Save'); drupal_form_submit($node_type . '_node_form', $form_state, (object)$node); $ nodeはPOST値を持ちます。 フォーム送信メソッドを使用する利点は、Drupalが語彙で新しい用語を作成することです(私はより多くの新しい用語を取得することになっています)。フォームの送信は、ノードの作成に必要なフォームの検証に従うことができます。 より多くの項を取得するはずのDrupalシステムでノードをより速く作成する方法はありますか? 上記以外の方法がない場合、どの方法が最適ですか?
7 forms  nodes 

4
すべてのノードフォームを変更するためのフックを作成する方法は?
私は試した: mymodule_form_node_alter mymodule_form_node_form_alter そしてグローバルフック: function mymodule_form_alter(&$form, $form_state, $form_id) { if ($form['#id'] == 'node-form') { #set message } } 上記のどれも私のために働きません。 すべてのノードフォームを呼び出すフックを作成する必要があります。可能であれば。
7 7  forms 


2
ユーザー登録フォームのパスワード確認フィールドを削除する方法
パスワード確認欄を削除したい。ユーザーがパスワードを1回だけ入力する場合は問題ありません。再度確認する必要はありません。 このコードを使用しています <?php function dp_form_alter(&$form, &$form_state, $form_id) { switch ($form_id) { case 'user-register-form': $form['account']['pass']['#type'] = "password"; break; } } どこが間違っているのか教えてください。動いていない。:(
7 forms 

3
ラジオが選択されているかどうかを判断するためのラジオの正しいセレクターは何ですか?
#statesを使用してフォーム要素の可視性を変更し、最初の要素が入力されている場合にのみ2番目の要素を表示したいと思います。最初の要素はラジオボタンのペアなので、次のように試みました。 '#states' => array('visible' => array( ':input[name="radio-id"]' => array('value' => '0', 'value' => '1'), ),), ただし、これが機能しない場合は、2番目の値の条件が最初の値よりも優先されるため、2番目のラジオ( '1')がチェックされている場合にのみ、他の要素が表示されます。それで私は試しました: :input[name="radio-id"]' => array('checked' => TRUE), いいえ、それも機能しません。 これに使用する正しい構文は何ですか、そしてどのドキュメントページにありますか?(drupal.orgまたは他のサイト?)探してみましたが見つかりません。
7 forms 

1
AJAXコールバック関数が呼び出されたことがない
信じられないほど簡単なことで問題があります。multiselect-form要素の要素を選択すると、テキストフィールドが有効になります。私が抱えている問題は、Drupalが指定したコールバック関数を取得できないことです。 ここでmultiselect-elementを作成します。 $form['foocat'] = array( '#type' => 'fieldset', '#title' => t('Manage subcategories'), '#prefix' => '<div class="fieldset">', '#suffix' => '</div>', ); $form['foocat']['subcategories'] = array( '#type' => 'select', '#default_value' => '', '#title' => $foocategory, '#options' => $options, '#ajax' => array( 'callback' => 'edit_displayname_callback', 'wrapper' => 'displayname', ), '#attributes' => array('id' => 'foocats',), …
7 forms  ajax 

1
PHPでコメントフォームを印刷する
次のコードでコメントフォームを印刷しようとしています。 <?php print drupal_get_form('comment_form', array('nid' => $row->nid), t('Post new comment')); ?> 私が得るすべては40回繰り返される次のエラーです: 警告:非オブジェクトのプロパティをcomment_form()で割り当てようとしています(/home/admin/public_html/website.com/modules/comment/comment.moduleの1845行目)。` コメントフォームは、PHPビューフィールド内から呼び出されます。Drupal 7のノードにコメントを追加する適切な方法は何ですか? 実際にはさらに多くのエラーがあり、そのほとんどは少なくとも1回繰り返されます。 EntityMalformedException:コメントタイプのエンティティにバンドルプロパティがありません。entity_extract_ids()内(/home/admin/public_html/website.com/includes/common.incの行7501)。注意:非オブジェクトのプロパティをcomment_form()で取得しようとしています(/home/admin/public_html/website.com/modules/comment/comment.moduleの1854行目)。
7 7  forms  comments 

2
Drupal AJAXは1回だけ起動します
Drupal 7では、次のことを実行したいフォームがあります。 単純な2列のテーブルにオプションのリストを表示する ドロップダウンリストからアクションを選択すると、AJAXが起動し、テーブルのオプションが置き換えられます 私はコードを書いていて、Drupalは最初に選択を選択したときにのみAJAXに値をポストします。これはフォームの「アイテム」タイプでは機能しませんか?ページには他のフォームもありますが、フォームIDはフォームフィールドと同様に一意です。 $form['new_date'] = array( '#type' => 'select', '#title' => 'Delivery Date', '#options' => $date, '#ajax' => array( 'callback' => 'delivery_date_weekends', 'wrapper' => 'dates-ajax', 'method' => 'replace', 'effect' => 'fade', ), ); $form['date_weekend'] = array( '#type' => 'item', '#prefix' => '<div id="dates-ajax">', '#suffix' => '</div>', '#markup' => …
7 7  forms  ajax 

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