0

ユーザーが入力する必要があるいくつかのフィールドを含むフォームがあります。フォームには、ユーザーの現在位置 (緯度、経度) 用の 2 つの非表示フィールドもあります。私は今、これらのフィールドを埋める方法を見つけるのにかなりの時間を費やしてきました.

私がそれをどのように機能させたいかは次のとおりです: フォームが送信されると (フォームタグの jQuery または OnSubmit)、デバイスに場所を要求する JavaScript 関数を実行する必要があります。次に、非表示フィールドに結果が入力されます。

これを行うための作業コードがありますが、Drupal で呼び出すことができません。

Drupal でフォーム送信時に JavaScript 関数を実行する方法はありますか、それとも別の方法を見つける必要がありますか?

どうもありがとう、

4

3 に答える 3

2

#attributesonclickを使用して送信ボタンにイベントを追加してみてください。

$form['SUBMIT_BUTTON']['#attributes'] = array(
    'onclick' => array("YourJsCallback()"),
);

または、配列内に既に何かがある場合['#attributes']は、それに追加する必要があります。

$form['SUBMIT_BUTTON']['#attributes']['onclick'] = array("YourJsCallback()");
于 2013-05-15T07:01:49.770 に答える
1

「www/misc/ajax.js」に次のフックがあり、JavaScript コードでオーバーライドできます。

/**
 * Modify form values prior to form submission.
*/
Drupal.ajax.prototype.beforeSubmit = function (form_values, element, options)
 {
      // This function is left empty to make it simple to override for modules
      // that wish to add functionality here.
 };
于 2016-04-29T23:25:43.763 に答える