所以我正在努力隐藏一个输入字段,我稍后计划将其与其他表单字段一起动态加载。我创建了一个小模块来协助这个过程。
/**
* Implements hook_form_alter().
*/
function editorhide_form_alter(&$form,$form_id){
//form id = artist_node_form
//title id = edit-title label: edit-title
global $user;
if($form_id == 'artist_node_form'){
if(in_array('editor', $user->roles)){
drupal_add_js("$(document).ready(function(){
$('#edit-title').css('display','none;');});"
);
}
}
}
但是,当查看需要隐藏的有问题的元素时,它不会去任何地方。 我采取的基本路径是::以"编辑"(管理员权限)->内容->艺术家->"编辑"身份登录。此时,会弹出一个灯箱 (?),其中包含要填写的字段,以允许人对人添加到内容中。我错过了什么..?
编辑:修复了缺少的$(文档)部分,但仍然没有隐藏该字段。
图像:: https://i.stack.imgur.com/IWDZw.jpg
你有这条线...
$('#edit-title').css('display','none;');
尝试利用jQuery"隐藏"功能...
$('#edit-title').hide();
此外,CSS 方式不起作用,因为您在"none"之后有一个分号。不需要在那里。
也许你应该动态绑定这个事件,在Jquery 1.x中你可以测试它
if(in_array('editor', $user->roles)){
drupal_add_js("$(document).live("ready",function(){
$('#edit-title').css('display','none;');});"
);
}
或者在 jquery 2.x 中,
if(in_array('editor', $user->roles)){
drupal_add_js("$(document)bind('ready', function(){
$('#edit-title').css('display','none;');});"
);
}