0

我有一个表单,我通过 drupal_add_js() 在模块的初始化代码中添加了一个 js 文件。

我看到了第一条调试消息,但我似乎无法从文档中选择任何项目。我只是得到返回的 jQuery 对象。

但是当我将同一行添加到萤火虫中时,它可以工作。

console.log('called => init()');
console.log(jQuery('#quiz-form').find('#edit-next'));
4

3 回答 3

0

如果您尝试从表单元素中检索值,请尝试:

console.log(jQuery('#quiz-form').find('#edit-next').val());
于 2012-06-29T18:04:44.170 回答
0

将 jQuery 对象作为返回是非常好的,因为像find实际返回 jQuery 对象这样的方法。您应该检查作为 return ie 获得的 jQuery 对象的长度console.log(jQuery('#quiz-form').find('#edit-next').length);。如果长度为零,那么当然找不到元素。在这种情况下,您应该确保在 DOM 准备好之后调用您的 JS 代码,即您应该使用 Drupal 行为包装您的代码jQuery(document).ready或使用 Drupal 行为。

于 2012-06-30T10:35:26.880 回答
0

我偶然发现了它。jQuery 对象试图在页面初始化之前找到选定的对象。

我在想初始化模块中的 drupal_add_js 就足够了。

但是我还必须将 jquery 代码包装在 Dom Ready 函数中......正如我们一直应该做的那样。

于 2012-07-02T15:51:11.527 回答