どのようにajaxリクエスト内からjavascriptを実行する

OK、私はajaxフォームのコールバックの内部でいくつかの基本的な検証をしています。私はいくつかのjavascriptを実行するために結果を使用したいと思います。私が試したことは次のようなものです:

私のフォームの中で変更:

if (isset($form_state['values']['field_temp_age'])) {
  if (validate())
  {
    //...return product information
  } else {
    drupal_add_js('alert("Validation fails!");', 'inline');
  }
}

これは機能しません。この場合、何も返されません。

また、これをajaxコールバックの内側から試してみました。

function my_ajax_callback(&$form, &$form_state) {
  if (!validate()) drupal_add_js('alert("Foo!");', 'inline');
}

ここで何がアプローチかはわかりません。どのようにしてajaxリクエストから返された情報に基づいて任意のjavascriptを実行できますか?

ありがとう。

ベストアンサー

どのようにAJAX呼び出しを行っているのかわからないが、$ .ajaxのようなjQuery
AJAX呼び出しは、結果が返された後にコールバックを実行できるようにする。
FALSEまたはエラーを示すコードを呼び出し関数に返し、成功ハンドラの中に “validation
failed”ロジックを配置することをお勧めします。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です