Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создание обекта в функции
 
 автор: angelcorpc   (27.10.2009 в 16:19)   письмо автору
 
 

Проблема такая:
<input type="Button" OnClick="crt_wn();" value="Добавить окно">
    <SCRIPT LANGUAGE="JavaScript">
    function crt_wn(){
     var nm_win;
     nm_win = new win(20, 300, 150, 100, false, 'window_2', 'Заголовок', 'window_2');
     nm_win.create;
    }
    var window_1, dialog_1;
    window_1 = new win(20, 50, 150, 100, false, 'window_1', 'Заголовок', 'window_1');
    window_1.create();
    </SCRIPT>

При загрузки страницы объект window_1 создается, а вот когда кликаешь по кнопке ничего не происходит. В чем проблема?

  Ответить  
 
 автор: jangot   (27.10.2009 в 16:32)   письмо автору
 
   для: angelcorpc   (27.10.2009 в 16:19)
 

Я не совсем понял что должно произойти.
Но в функции вы создаете локальную переменную и присваиваете ей объект.
И соответственно доступ к ней можно получить только в теле функции, снаружи она не видна.
Уберите "var" тогда переменная станет глобальной.

  Ответить  
 
 автор: angelcorpc   (27.10.2009 в 16:43)   письмо автору
 
   для: jangot   (27.10.2009 в 16:32)
 

Нет, не помогает.
вот сам объект который создается:
function win(x, y, w, h, dial, name, header, body)
{
 this.x = x;
 this.y = y;
 this.w = w;
 this.h = h;
 this.dialog = dial;
 this.name = name;
 this.head = header;
 this.body = body;
 this.create = WinCreate;
}

по команде create выводится текст функцией document.write поэтому вряд ли в этом проблема.
Т.е. задача: на странице есть кнопка(и) (1, 2 или 3 не важно) при нажатии на которые необходимо создать объект(ы) win

  Ответить  
 
 автор: jangot   (27.10.2009 в 17:03)   письмо автору
 
   для: angelcorpc   (27.10.2009 в 16:43)
 

Как я сразу не заметил??
В вызываете метод без скобок


<input type="Button" OnClick="crt_wn();" value="Добавить окно">
    <SCRIPT LANGUAGE="JavaScript">
    function crt_wn(){
     var nm_win;
     nm_win = new win(20, 300, 150, 100, false, 'window_2', 'Заголовок', 'window_2');
     nm_win.create();//НАДО ДОБАВИТЬ СКОБКИ
    }
    var window_1, dialog_1;
    window_1 = new win(20, 50, 150, 100, false, 'window_1', 'Заголовок', 'window_1');
    window_1.create();
    </SCRIPT>

  Ответить  
 
 автор: angelcorpc   (27.10.2009 в 17:15)   письмо автору
 
   для: jangot   (27.10.2009 в 17:03)
 

*головой об стену*
спасибо, ступил немного, бывает.
только один вопросик. Страница перезагружается. Как это исправить?

  Ответить  
 
 автор: Madman   (27.10.2009 в 17:23)   письмо автору
 
   для: angelcorpc   (27.10.2009 в 17:15)
 

>Как это исправить?

Не использовать document.write, а юзать innerHTML для какого-нибудь блока

  Ответить  
 
 автор: angelcorpc   (27.10.2009 в 17:24)   письмо автору
 
   для: Madman   (27.10.2009 в 17:23)
 

Ок
спасибо огромное.

  Ответить  
 
 автор: angelcorpc   (28.10.2009 в 13:54)   письмо автору
 
   для: Madman   (27.10.2009 в 17:23)
 

Все, спасибо;)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования