Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 17.03.2008, 17:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от scuter
Javascript для PHP функции: isset
Ах вон оно что. Мой вам скромный совет: не ходите в тот раздел, пишите на JavaScript, а не на PHP для JavaScript.
Ответить с цитированием
  #12 (permalink)  
Старый 17.03.2008, 20:41
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

да нет написал так как в последнем примере,
а isset использовал потому, что не мог понять почему не if(node.error)
не срабатывает, а оказалось такая конитель.

кстати в IE 6 что то не срабатывает у вас на форуме,
толи стили не подгружаются толи с js какой то косяк.

Последний раз редактировалось scuter, 17.03.2008 в 20:44.
Ответить с цитированием
  #13 (permalink)  
Старый 17.03.2008, 22:47
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Сообщение от scuter
что не мог понять почему не if(node.error) не срабатывает
если падает с ошибкой, то потому что node не определен
Ответить с цитированием
  #14 (permalink)  
Старый 18.03.2008, 01:08
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

scuter,
Если еще осталась проблема, пожалуйста, опиши её максимально подробно, так как сейчас - ничего не понятно.
Ответить с цитированием
  #15 (permalink)  
Старый 18.03.2008, 01:20
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

я её максимально понятно описал,
остаётся только код полностью выложить(но он слишком большой для этого),
Андрей Параничев,
ты наверное прав ext наверное запускается в этом режиме
так как функцию я объявляю внутри Ext.onReady
примерно так,
Ext.onReady(function(){
var TreePanetEdit = function(box)
{
    if(box)
    {
        alert(box);
    }
    else
    {
        alert('nexus');
    }
}
});
Ответить с цитированием
  #16 (permalink)  
Старый 18.03.2008, 16:53
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Так, давайте по порядку
Что вы хотите, просто заменить функцию onReady объекта/класса Ext?
Или хотите чтоб в коде
Ext.onReady(function(){
var TreePanetEdit = function(box)
{
    if(box)
    {
        alert(box);
    }
    else
    {
        alert('nexus');
    }
}
});

Функцию TreePanetEdit можно было запускать откуда угодно? Я просто не знаю как сделан код Ext (вряд ли с полной инкапсуляцией), в любом случае достаточно, чтобы функция при onLoad видела другие функции, так как весь исполнительный код помещать в событие onLoad не обязательно - только вызов определённых методов.

Или я опять неправильно вас понял?

Последний раз редактировалось Андрей Параничев, 18.03.2008 в 17:08.
Ответить с цитированием
  #17 (permalink)  
Старый 18.03.2008, 19:07
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

у сейчас там есть такой код,
Ext.onReady(function(){
	var TreeNodeAdd = page.TreeNodeAdd;
	var TreeNodeMove = page.TreeNodeMove;
	var TreeNodeRename = page.TreeNodeRename;
	var TreeNodeDelete = page.TreeNodeDelete
	var TreeNodeBeforeStartEdit = page.TreeNodeBeforeStartEdit;
	var TreeNodeUrl = page.TreeNodeUrl;
	var TabAdd = page.TabAdd;
	var TreePanetEdit = function(bottom)
    {
    	if((bottom == 'Add') || (bottom == 'AddChild'))
    	{
	    	NodeSelect = tree.getSelectionModel().getSelectedNode();
	    	if(bottom == 'Add')
	    	{
	    		NodeEdit = NodeSelect;
	    	}
	    	else
	    	{
	    		NodeEdit = NodeSelect.parentNode;
	    	}
	    	node = NodeChild = TreeNodeAdd(NodeEdit);
	    	if(NodeChild.add)
			{
	    		Child = new Ext.tree.TreeNode(NodeChild.add);
	    		NodeEdit.appendChild(Child);
			}
    	}
    	else if(bottom == 'TreeNodeUp')
    	{
    		node = TreeNodeMove('Up');
    		if(!node.error)
    		{
    			tree.loader.load(tree.root);
    		}
    	}
    	else if(bottom == 'TreeNodeDown')
    	{
    		node = TreeNodeMove('Down');
    		if(!node.error)
    		{
    			tree.loader.load(tree.root);
    		}
    	}
    	else if(bottom == 'TreeNodeDelete')
    	{
    		node = tree.getSelectionModel().getSelectedNode();
    		node = TreeNodeDelete(node);
    		if(!node.error)
    		{
    			tree.loader.load(tree.root);
    		}
    	}
    	if(node)
    	{
    		if(node.error)
	    	{
	    		if(isset('node.error.title') && isset('node.error.text'))
	    		{
	    			Ext.MessageBox.show({
						title: node.error.title,
						msg: node.error.text,
						buttons: Ext.MessageBox.OK,
						icon: 'error'
					});
	    		}
	    	}
	    	else if(node.msg)
	    	{
	    		if(node.msg.title && node.msg.text)
	    		{
	    			Ext.MessageBox.show({
						title: node.msg.title,
						msg: node.msg.text,
						buttons: Ext.MessageBox.OK,
						icon: 'info'
					});
	    		}
	    	}
    	}
    }
var TreeToolbar = new Ext.Toolbar({
		cls:'TreeToolbar',
		items:[
		{
	        id:'add',
	        iconCls:'add',
	        handler:function(){TreePanetEdit('Add');},
	        tooltip:'Добавить сраницу.'
	    }, {
	        id:'add_p',
	        iconCls:'plugin_add',
	        handler:function(){TreePanetEdit('AddChild')},
	        tooltip:'Добавить подстраницу.'
	    },'-',{
	    	id:'up',
	        iconCls:'arrow-up',
	        handler:function(){TreePanetEdit('TreeNodeUp')},
	        tooltip:'переместить выше.'
	    },{
	    	id:'down',
	        iconCls:'arrow-down',
	        handler:function(){TreePanetEdit('TreeNodeDown')},
	        tooltip:'переместить ниже.'
	    },'-',{
	        id:'remove',
	        iconCls:'delete',
	        handler:function(){TreePanetEdit('TreeNodeDelete')},
	        tooltip:'Удалить страницу'
	    }
	    ]
    });
    var TreeToolbarMap = TreeToolbar.items.map;
});
var page = new (function(){
	this.TreeNodeAdd = function()
	{
		
	}
	this.TreeNodeUp = function()
	{
		
	}
	this.TreeNodeDown = function()
	{
		
	}
	this.TreeNodeRename = function()
	{
		
	}
	this.TreeNodeDelete = function()
	{
		
	}
	this.TreeReplace = function()
	{
		
	}
	this.TreeNodeBeforeStartEdit = function()
	{
		
	}
	this.TreeNodeUrl = '/admin/src/page_tree_menu:content';
	this.TabAdd = function()
	{
		
	}
})();

раньше когда я перекидывал функции из page в onReady
функции не видели переменных которые были в onReady
пока возился приключился косяк функции начали выполняться один раз при запуску а потом не использовались,
но это дело я обошёл только вот не понял почему надо писать так
handler:function(){TreePanetEdit('Add');},
Ответить с цитированием
  #18 (permalink)  
Старый 23.03.2008, 06:02
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

хм, кажется все таки непонятно объяснил,
есть два объекта,

Ext.onReady(function(){
	var table = 'kjsfdgjkdjfh';
	var TreeNodeAdd = page.TreeNodeAdd;
	var TreeNodeMove = page.TreeNodeMove;
	var TreeNodeRename = page.TreeNodeRename;
	var TreeNodeDelete = page.TreeNodeDelete
	var TreeNodeBeforeStartEdit = page.TreeNodeBeforeStartEdit;
	var TreeNodeUrl = page.TreeNodeUrl;
	var TabAdd = page.TabAdd;
});

var page = new (function(){
	this.TreeNodeAdd = function()
	{
		alert(table);
	}
	this.TreeNodeUp = function()
	{
		
	}
	this.TreeNodeDown = function()
	{
		
	}
	this.TreeNodeRename = function()
	{
		
	}
	this.TreeNodeDelete = function()
	{
		
	}
	this.TreeReplace = function()
	{
		
	}
......
})();

ну тук вот я не понимаю почему функция не видит переменную table,
скажите как сделать так, что бы видела.
Ответить с цитированием
  #19 (permalink)  
Старый 23.03.2008, 13:50
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Ext.onReady(function(){
    table = 'kjsfdgjkdjfh';
    var TreeNodeAdd = page.TreeNodeAdd;
    var TreeNodeMove = page.TreeNodeMove;
    var TreeNodeRename = page.TreeNodeRename;
    var TreeNodeDelete = page.TreeNodeDelete
    var TreeNodeBeforeStartEdit = page.TreeNodeBeforeStartEdit;
    var TreeNodeUrl = page.TreeNodeUrl;
    var TabAdd = page.TabAdd;
});
 
var page = new (function(){
    this.TreeNodeAdd = function()
    {
        alert(table);
    }
    this.TreeNodeUp = function()
    {
        
    }
    this.TreeNodeDown = function()
    {
        
    }
    this.TreeNodeRename = function()
    {
        
    }
    this.TreeNodeDelete = function()
    {
        
    }
    this.TreeReplace = function()
    {
        
    }
......
})();
Ответить с цитированием
  #20 (permalink)  
Старый 23.03.2008, 22:48
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

Андрей Параничев,
это шутка?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с обработкой DIV nerik AJAX и COMET 2 22.08.2008 17:40
Проблема с меню 856 Общие вопросы Javascript 3 28.07.2008 14:29
Проблема с маркером kostian02 Общие вопросы Javascript 0 23.06.2008 16:10
Проблема с русскими путями. Phoenix (X)HTML/CSS 0 23.10.2007 13:37
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56