2010-10-27 53 views
4

我想覆盖注释表单上的核心drupal行为。覆盖Drupal javascript行为

如果您作为匿名用户评论,您的姓名和邮件存储在cookie中,然后使用JavaScript下面这段代码填写在随后的评论形式的相应字段:

Drupal.behaviors.comment = function (context) { 
    var parts = new Array("name", "homepage", "mail"); 
    var cookie = ''; 
    for (i=0;i<3;i++) { 
    cookie = Drupal.comment.getCookie('comment_info_' + parts[i]); 
    if (cookie != '') { 
     $("#comment-form input[name=" + parts[i] + "]:not(.comment-processed)", context) 
     .val(cookie) 
     .addClass('comment-processed'); 
    } 
    } 
}; 

如果我不希望这些字段被填充,我知道我可以用更多的javascript来消除这些信息,但我确信有一种“更干净”的方式来做到这一点。

回答

6

如果您有自定义模块,您应该可以覆盖Drupal.behaviors.comment或删除它。

drupal_add_js('delete Drupal.behaviors.comment','inline'); 

当然,如果你已经有了被列入一个js文件,把它放在那里,而不是内联。

+0

谢谢Jeremy,内联版本的作品。我认为在自定义的.js文件中删除它时,comment.js已经被执行了。 – lazysoundsystem 2010-10-28 14:58:59