0
function MyModule_menu() {
  $items['blah'] = array(
    'title' = 'blah',
    'page callback' => 'blah_page',
    'type' => MENU_NORMAL_ITEM
  );
  $items['clickPath'] = array(
    'title' => 'A title',
    'page callback' => 'clickPath_page',
    'type' => MENU_CALLBACK,
  );
  return $items;
}

function blah_page() {
  $output = drupal_get_form(MyModule_form);
  return $output;
}
function clickPath_page() {
  return ('you clicked me!');
}

function MyModule_form($form,&$form_state) {
  $output = '<div id="clickDiv">Click me</div>';

  $form['blah'] = array(
    '#type' => 'markup',
    '#value' => $output,
    '#ahah' => array(
      'event' => 'click',
      'path' => 'clickPath',
      'wrapper' => 'clickDiv',
    ),
  );

  return $form;
}

上記が機能しないのはなぜですか?フォームタイプの「マークアップ」でahahとイベントを使用することはできませんか?独自のカスタムJavaScriptを使用する必要がありますか?

ここで読むのをやめることができます!ここで文章と質問を終了したいのですが、stackoverflowにより、最小限の文字数を入力する必要があります。事前にお詫びします!!!!

4

1 に答える 1

1

「特殊要素」の下のフォームAPIを見ると、属性がフォームタイプ#ahahでサポートされていないことがわかります。markup

したがって、この場合は独自のJSをロールするか、markup要素を通常の形式の要素に変換する必要があります(目的に応じて機能するようには見えません)。

于 2012-01-06T16:08:20.117 に答える