van*_*ude 2 javascript json drupal autocomplete javascript-events
我不是AJAX,drupal或javascript的专家,但我会尽我所能让我的问题尽可能清楚.
我在开发环境中运行MySQL上的drupal 7.我编写了自己的模块'acid'来处理自定义自动完成功能
我正在为一家公司建立一个网站,允许他们为所有网站添加客户满意度表.在我的数据库中,我有一个'acid_company'和'acid_sites'表,其结构是一个公司可以拥有多个站点.
当用户想要添加站点时,他首先必须输入公司名称,以查看公司名称是否已存在于DB中.我有公司名称字段的自动完成功能正常工作,但我想要做的是禁用(或更改)"添加公司"表单的提交按钮,而不是将用户带到他可以添加网站的表单到公司.
所以步骤是:
所以我想知道的是,当用户从找到的结果中选择公司名称并相应地更改其他表单组件时,如何从company_name元素捕获事件.
就像是:
(user inputs company name) -> results found -> (user clicks one of the found results)<br />
<code>
do_disableForm()<br />
{<br />
this.form.addcompany.company_name.disable();<br />
this.form.addcompany.submit.disable();<br />
this.a.addsite.setVisable(TRUE);
}<br />
</code>
Run Code Online (Sandbox Code Playgroud)
"<a href='?q=addsite&companyid=xx'>添加网站</a>"链接还需要在其超链接引用中包含公司ID,因此我还需要从结果中捕获此信息.也许是一个隐藏的形式组件.
任何帮助将不胜感激.
作为旁注,我试图尽可能地遵循'drupal方式':)
在misc/autocomplete.js它中声明了用于自动完成的JavaScript对象Drupal.jsAc.这可能是你正在寻找的:
/**
* Puts the currently highlighted suggestion into the autocomplete field.
*/
Drupal.jsAC.prototype.select = function (node) {
this.input.value = $(node).data('autocompleteValue');
};
Run Code Online (Sandbox Code Playgroud)
通常,在JavaScript中,几乎所有内容都可以覆盖,包括原型.
因此,您只需将其复制到自己的自定义.js文件中,然后添加自定义代码即可 do_disableForm
| 归档时间: |
|
| 查看次数: |
2297 次 |
| 最近记录: |