所以我正在隐藏一个输入字段,我后来计划用其他表单字段动态加载它。我创建了一个小模块来协助这个过程。
/**
* 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;');});"
);
}
}
}
然而,当查看需要隐藏的问题元素时,它不会去任何地方。我正在采取的基本路径是::以“编辑器”(admin privilages)登录 - >内容 - >艺术家 - > “编辑”。此时,弹出一个灯箱(?),其中填写字段以允许人与人添加到内容中。我错过了什么..?
编辑:修复了丢失的$(文档)部分,但仍未隐藏字段。
Img :: http://imgur.com/sP2OlNg
答案 0 :(得分:0)
你有这条线......
$('#edit-title').css('display','none;');
尝试使用jQuery“隐藏”功能...
$('#edit-title').hide();
另外,CSS方式不起作用,因为在'none'之后你有一个分号。不需要在那里。
答案 1 :(得分:0)
也许你应该动态绑定这个事件,在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;');});"
);
}