繁体   English   中英

Drupal 6至7:添加jquery函数以形成表单

[英]Drupal 6 to 7: add jquery function to form

我需要将代码从Drupal 6转换为Drupal 7,但停留在jquery部分。 在Drupal 6中,添加jquery的代码如下所示,其中simpleColorjquery.simple-color.min.js一个函数:

drupal_add_js(drupal_get_path('module', 'module_name') . '/js/jquery.simple-color.min.js', 'module', 'header', FALSE, FALSE, FALSE);

$jquery = '
  $(document).ready(function() {
    $(".simple_color").simpleColor({
      displayColorCode: true,
      boxWidth: "6em",
      defaultColor: "#36c",
    });
  });';

drupal_add_js($jquery, 'inline');

simple_color已添加到表单中:

$form['feeds']["feed_$fid"]['color'] = array(
  '#title' => t('Color'),
  '#type' => 'textfield',
  '#size' => 10,
  '#attributes' => array(
    'class' => 'simple_color',
  ),
);

我试图将以上代码转换为Drupal 7,但未成功:

drupal_add_js(drupal_get_path('module', 'module_name').'/js/jquery.simple-color.min.js', array('type'=>'module', 'scope'=>'header', 'defer'=>FALSE, 'cache'=>FALSE, 'preprocess'=>FALSE));

$jquery = '
  jQuery(document).ready(function() {
    $(".simple_color").simpleColor = {
      attach: function({
        displayColorCode: true,
        boxWidth: "6em",
        defaultColor: "#36c"
    })
  };
});';

drupal_add_js($jquery, array('type'=>'inline'));

通知:

$form['feeds']["feed_$fid"]['color'] = array(
  '#title' => t('Color'),
  '#type' => 'textfield',
  '#size' => 10,
  '#attributes' => array(
    'class' => array('simple_color'),
  ),
);

我尝试了很多方法,但是在这种情况下它们没有用。 请花些时间看看并尝试帮助我。 谢谢你

应用2pha的建议,我已成功将jquery代码添加到drupal。 以下是drupal 7中的修复程序:

drupal_add_js(drupal_get_path('module', 'module-name') . '/js/jquery.simple-color.min.js','file');

$jquery = '
  (function($) {
  Drupal.behaviors.myBehavior = {
    attach: function (context, settings) {
      $(document).ready(function() {
        $(".simple_color").simpleColor({
          displayColorCode: true,
          boxWidth: "6em",
          defaultColor: "#36c",
        });
      });
    }
  };
  })(jQuery);';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM