0

我有一个表格,其中包含用户应该填写的几个字段。该表单还有两个隐藏字段用于用户当前位置(纬度、经度)。我现在花了很长时间试图找到一种方法来填充这些字段。

我希望它如何工作是这样的:提交表单时(jQuery 或表单标签中的 OnSubmit),应该运行一个询问设备位置的 JavaScript 函数。然后用结果填充隐藏字段。

我有执行此操作的工作代码,但我无法让它被 Drupal 调用。

有没有办法在 Drupal 中提交表单时运行 JavaScript 函数,或者我应该找到另一种方法。

非常感谢,

4

3 回答 3

2

似乎现在已经开始工作了。添加了以下内容

$form['#attributes'] = array('OnSubmit' => 'myFunction();');
于 2013-05-15T13:59:40.980 回答
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 回答