Javascript function not getting called in Drupal 7 which used to run proper in Drupal 6(在 Drupal 7 中未调用 Javascript 函数,该函数曾经在 Drupal 6 中正常运行)
问题描述
我正在将我的 Drupal 6 站点迁移到 Drupal 7.因此,我遇到了一些代码问题.在 Drupal 7 中调用带有 jquery 等的 javascript 是不同的,这是我读过的.这是我在 Drupal 6 中的页面图像.在更改下拉框时,它上面的表格会填充属于该列表的项目地位.这在 Drupal 6 中运行良好.但在 Drupal 7 中,我看到 这个 javascript 错误.
I am in the process of migrating my Drupal 6 site to Drupal 7. As a result i am facing some issues with the code. The calling of javascript laced with jquery etc is different in Drupal 7 is what i have read. This is the image of the page i had in Drupal 6. On change of the dropdown box, the table above it gets populated with projects belonging to that status. This works fine in Drupal 6. But in Drupal 7 i see this javascript error.
这是我的 php 文件中 Dropdown 的表单元素.
This is the form element for the Dropdown in my php file.
<? php
$form['status_list'] = array(
'#type' => 'select',
'#title' => t('Freeway Project Statuses'),
'#options' => array(
0 => t('-Select Status-'),
1 => t('Draft'),
2 => t('NotSpecified'),
3 => t('Quote'),
4 => t('Forecasted'),
5 => t('InEvaluation'),
6 => t('Cancelled'),
7 => t('Booked'),
8 => t('InProduction'),
9 => t('Completed'),
10 => t('Closed'),
),
'#default_value' => array('0' => 'Select Status'),
'#weight' => 0,
);
这就是 JavaScript我已经用 Drupal 7 的附加标签对其进行了修改
And this is the JavaScript I have modified it with the additional tags for Drupal 7
(function$){ .. })(jQuery); .
Drupal 6 中不需要这些标签.
These tags were not needed in Drupal 6.
(function$){
$(document).ready(function () {
$("#edit-status-list").change(function() {
var selectedStatus = $(this).find(":selected").text();
var charExists = ((window.location.href).indexOf('?') >= 0) ? true : false;
if(charExists){
var split = (window.location.href).split('?');
var loc = split[0];
loc = loc+"?status="+selectedStatus;
self.location.href= loc;
}
else{
var locf = window.location.href+"?status="+selectedStatus;
self.location.href= locf;
}
});
$("#create-freeway-project").submit(function() {
$(":submit", this).attr("disabled", "disabled");
});
$(".common_link_class").click(function() {
//alert("Hello");
var count = ($(this).data("clicks") || 0) + 1;
$(this).data("clicks", count);
if ($(this).data("clicks") >= 1) {
}
if ($(this).data("clicks") >= 2) {
return false;
}
});
$("#edit-analysis-code-one").change(function () {
// Get the configs and split them.
var cfgs = _get_configs("edit-custRef");
var split_cfgs = cfgs.split('/');
// Create some new configs and put it back into the configs textfield.
//var new_cfgs = $(this).val() +"/"+ cfgs[1];
var new_cfgs = $("#edit-analysis-code-one option:selected").text() +"/"+ cfgs[1];
$("#edit-custRef").val(new_cfgs);
});
$("#edit-analysis-code-two").change(function () {
// Get the configs and split them.
var cfgs = _get_configs("edit-custRef");
var split_cfgs = cfgs.split('/');
// Create some new configs and put it back into the configs textfield.
//var new_cfgs = cfgs[0] +"/"+ $(this).val();
var new_cfgs = cfgs[0] +"/"+ $("#edit-analysis-code-two option:selected").text()
$("#edit-custRef").val(new_cfgs);
});
});
})(jQuery);
(function$){
function _get_configs(id) {
return $("#"+ id).val();
}
})(jQuery);
#edit_status_list
是我们感兴趣的下拉菜单.
#edit_status_list
is the dropdown of our interest.
希望您对在 Drupal 7 中正确调用 javascipt 需要做哪些额外更改提出建议
Would like to have your suggestions as to what additional change needs to be done for proper javascipt calling in Drupal 7
推荐答案
应该是
(function($) {
没有
(function$ {
你得到的是一个语法错误.第一个实例化一个函数,使其第一个参数可以通过其主体代码中的符号 $
获得.函数在body之后调用:
What you've got is a syntax error. The first one instantiates a function such that its first argument will be available via the symbol $
in its body code. The function is invoked after the body:
// ...
})(jQuery);
全局jQuery"对象作为参数传入.此设置可确保您的代码通过常见的$"符号访问正确的框架(即 jQuery),而不必担心$"的另一个外部绑定.
and the global "jQuery" object is passed in as the argument. This setup assures your code access to the correct framework (that is, to jQuery) via the common "$" symbol without having to worry about another external binding for "$".
这篇关于在 Drupal 7 中未调用 Javascript 函数,该函数曾经在 Drupal 6 中正常运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Drupal 7 中未调用 Javascript 函数,该函数曾经在 Drupal 6 中正常运行


- 如何调试 CSS/Javascript 悬停问题 2022-01-01
- 我不能使用 json 使用 react 向我的 web api 发出 Post 请求 2022-01-01
- 如何显示带有换行符的文本标签? 2022-01-01
- 为什么悬停在委托事件处理程序中不起作用? 2022-01-01
- 是否可以将标志传递给 Gulp 以使其以不同的方式 2022-01-01
- 使用 iframe URL 的 jQuery UI 对话框 2022-01-01
- 在不使用循环的情况下查找数字数组中的一项 2022-01-01
- 如何向 ipc 渲染器发送添加回调 2022-01-01
- 从原点悬停时触发 translateY() 2022-01-01
- 为什么我的页面无法在 Github 上加载? 2022-01-01