Drupal 7 Field API:如何以编程方式发送表单元素属性 #ajax 指定的AJAX请求
Drupal 7 Field API: how to programmatically send AJAX request specified in #ajax property of form element?
我正在使用Drupal 7字段API通过AJAX重新加载部分表单。我有一个进行调用的按钮,但我想删除它并以编程方式进行调用,作为对特定事件的响应。这是我的 AJAX 按钮代码:
$form['documents']['reload_document_list_button'] = array(
'#type' => 'button',
'#value' => 'Обновить список документов',
'#ajax' => array(
'callback' => 'reload_document_list',
'wrapper' => 'document-list',
'method' => 'replace',
),
);
(有关详细信息,请参阅 http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#ajax。有没有办法做到这一点?
附言我知道我可以设置按钮样式以使其不可见并触发"单击"事件,但我正在寻找一种更整洁的方式来做到这一点。
我认为有两种
方法可以做到这一点:
首先,您可能已读取的 #ajax
属性接受event
密钥。默认情况下,对于按钮元素,此事件为 mousedown
。(你可以在这里查看)您可以将其更改为自定义事件,例如customEvent
并从 Javascript 代码中触发此自定义事件,jQuery('#button-id').trigger('customEvent');
。
或者,您可以夹住#ajax
属性本身。设置 AJAX 端点(使用 hook_menu
),并将reload_document_list
设置为其回调。添加自定义 Javascript 以发出请求并处理响应。当你使用来自misc/ajax.js
#ajax
时,你可以看看Drupal发送AJAX请求的方式,如果你愿意,可以把它用作参考。
相关文章:
- asp.net ajax属性值timestamp未定义
- 使用AJAX设置对象属性
- 无法获取属性'的值;拆分'在IE8中调用ajax之后
- 使用Ajax刷新页面属性
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- 错误:在 Firefox 中访问 AJAX 请求的属性“nodeType”的权限被拒绝
- AJAX/JS/PHP:如何替换发送到PHP文件的文件中的文本,并传递成功属性
- 无法使用.ajax调用显示MVC控制器返回的属性值
- Rails和ajax文件上传-无法读取属性'innerHTML'的空错误
- 根据单选按钮id属性调用ajax jquery
- PHP-AJAX复选框过滤器使用数据标记属性
- 无法设置未定义或空引用的属性“ajax已启用”
- 从 ajax jQuery 中的数据变量中获取属性
- 如何在 ajax 请求的回调中设置 ngInclude 元素的 src 属性
- 使用Spine.Model.Ajax,如何在模型更新时处理响应的JSON中的额外属性
- AJAX 数据 - 替换 HTML 与更新值属性
- jQuery 控件的 AJAX 文本属性成功,返回 [对象对象]
- 阻止执行数据 ajax 属性
- 如何创建具有多个AJAX属性的javascript对象
- AngularJs服务中的自定义AJAX属性