2011-11-12 11 views

答えて

7

あなたはこのようにフォームを追加することができます。

hook_form() 
{ 
    $form1["dropdown"] = array(
    '#type' => 'select', 
    '#title' => t('Preview the page with themes available'), 
    '#options' => $ptions, 
    '#default_value' => 'defalut_value', 
    '#attributes' => array('onchange' => "form.submit('dropdown')"), 
); 
//Submit button: 
$form1['submit'] = array(
    '#type' => 'submit', 
    '#value' => t('Submit '), 
     '#attributes' => array('style' => 'display: none;'), 
); 

今、あなたは(hook_submitを使用して機能を提出する追加することができます)。

+0

などの属性の行を追加します。ドロップダウン 'は' ' 'に' 'check_plain'でコード化されています。どうすればそれを避けることができますか? –

+0

これはD7で可能ですか? – Hitesh

1

このドロップダウンを使用して別のフォームフィールドを生成するとします。

それにはAHAHを使用してください。ここで

$form['my_form_submit'] = array(

'#type' => 'submit', 

'#value' => t('Submit'), 
'#weight' => 1, 
'#submit' => array('my_form_submit'),//none JS version 
'#ahah' => array(
    'event' => 'click', 
    'path' => 'mymodule/js', //Your ajax function path 
    'wrapper' => 'myform-wrapper', 
    'method' => 'replace', 
    'effect' => 'fade', 
    'progress' => array(
    'type' => 'bar', 
    'message' => t('Loading...') 
)  
), 
4

は、私はニコラスは、今では、この問題、過去の方法であることを確信していますが、これは解決策を探している人もを助けるかもしれ'#ajax'プロパティ

$form['select'] = array(
    '#type' => 'select', 
    '#title' => 'Option #1', 
    '#options' => $option, 
    '#ajax' => array(
    // Call function that rebuilt other field 
    'callback' => 'ajax_load_field', 
    'method' => 'replace', 
    // div to be get replace by function output 
    'wrapper' => 'chart', 
    'effect' => 'fade' 
), 
); 
1

を使った簡単な例です。

私はD7を使用して、私は> check_plainによって仮定」にエンコードされたドロップダウンの周りに単一引用符を取得しています。 >それを避けるには? - Nicholas Tolley Cottrell Jun 2 at 16:03

私はちょうどこれを行う "Drupal"方法を発見しました。

ステップ1は、drupal_add_jsを使用してドロップダウンを含むように変数を設定します。

drupal_add_js(array('mymodule' => array('varname' => 'dropdown')), 'setting'); 

ステップ2を、私はD7を使用し、 `周りの単一引用符を取得しています

'#attributes' => array('onchange' => "form.submit(Drupal.settings.mymodule.varname)"), 
関連する問題