我有一个表单,其中包含用户应填写的几个字段。该表单还为用户当前位置(lat,long)提供了两个隐藏字段。我现在花了很长时间试图找到填补这些领域的方法。
我希望它如何工作是这样的: 提交表单(表单标记中的jQuery OR OnSubmit)时,应运行一个要求设备查找位置的JavaScript函数。然后用结果填充隐藏的字段。
我有这方面的工作代码,但我无法让它被Drupal调用。
有没有办法在Drupal中提交表单时运行JavaScript函数,或者我应该找到另一种方法来执行它。
非常感谢,
答案 0 :(得分:2)
尝试使用#attributes将onclick
事件添加到提交按钮。
$form['SUBMIT_BUTTON']['#attributes'] = array(
'onclick' => array("YourJsCallback()"),
);
OR 如果您已在['#attributes']
数组中包含某些内容,则需要添加该内容。
$form['SUBMIT_BUTTON']['#attributes']['onclick'] = array("YourJsCallback()");
答案 1 :(得分:2)
现在似乎已经开始工作了。添加了以下
$form['#attributes'] = array('OnSubmit' => 'myFunction();');
答案 2 :(得分: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.
};