Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 28.06.2011
Сообщений: 20
1

нужно сделать, чтобы работали кнопки запуска примеров

27.04.2012, 20:36. Показов 1899. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В созданном приложении "Испытатель скриптов" нужно сделать, чтобы работали кнопки запуска примеров. Сам текст примера отображается в textarea, не получается сделать так, чтобы по нажатию на кнопку "Запустить пример" отображался результат работы примера. Подскажите, пожалуйста!

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML lang="ru">
 
  <HEAD>
    <!-- Meta http equivalent was here                                                -->
    <TITLE>Универсальный испытатель скриптов</TITLE>
    <SCRIPT language=JavaScript>
    <!--
    // Конструктор объекта данных меню
    // name  - название пункта меню
    // text  - текст, соответствующий выбранному пункту
    function item(name, text)
    {
      this.name=name;
      this.text=text;
      return this;
    }
 
    // Данные длЯ меню
    var items = new Array(
       new item('Сброс',
                ' Это приложение\r\n'+
                ' Универасальный испытатель\r\n'+
                ' скриптов\r\n'),
       new item('Пример 1 \r\n',
                'Программное управление обычной кнопкой\r\n'+
                '<SCRIPT language=JavaScript>\r\n'+
                '<!-- \r\n'+
                ' var num=0; \r\n'+
                ' var name0="число нажатий: 0"; \r\n'+
                ' //-- > \r\n'+
                ' </SCRIPT>\r\n'+
                ' <FORM name=count>\r\n'+
                ' <INPUT type=button value=сброс \r\n'+
                ' onclick="document.count.p.value=name0;num=0">\r\n'+   
                ' <INPUT type=button name=key value="число нажатий: 0" \r\n'+
                ' onclick="document.count.key.value="число нажатий:"+(++num)">\r\n'+
                ' </FORM>'),
       new item('Запустить пример 1'),               
       new item('Пример 2',
                'Программное управление вводом пароля\r\n'+
                '<SCRIPT language=JavaScript>\r\n'+
                '<!--\r\n'+
                'var key  = "js2011";\r\n'+
                'var mess = new Array("пароль не введен!",\r\n'+
                ' "пароль правильный",\r\n'+
                ' "пароль неверный");\r\n'+
                ' function Check(obj)\r\n'+
                ' {\r\n'+
                ' var ind = 2;\r\n'+
                ' if(!obj.pass.value)          ind = 0;\r\n'+
                ' else if(obj.pass.value==key) ind = 1;\r\n'+
                ' obj.mess.value=mess[ind];\r\n'+
                '}\r\n'+
                ' //-- > \r\n'+
                '</SCRIPT>\r\n'),
        new item('Запустить пример 2'),
        new item('Авторы',
                'Здесь\r\n'+
                'сведения\r\n'+
                'об авторах\r\n'+
                'приложения\r\n'),
       new item('Справочник',
                'Здесь\r\n'+
                'находится\r\n'+
                'справочник\r\n'+
                'по теме.')
                          );
 
    // Показ на экране i-го фрагмента
    function show(i)
    {
     document.menu.edit.value=items[i].text;
    }
    //-->
    </SCRIPT>
  </HEAD>
  <BODY bgcolor="#  FF3333" text="#FFFFF">
   <H2>Лабораторная работа</H2>
    <P>
    <FORM name=menu>
    <TABLE width="75%" border="1" cellspacing="0" cellpadding="25">
      <TR>
        <TD>
          <SCRIPT language=JavaScript>
          <!--
            document.write(
              '<TEXTAREA name=edit rows=15 cols=106 readonly>'+
                items[0].text+
              '</TEXTAREA><BR>');
          //-->
          </SCRIPT>
         <NOBR>
          <SCRIPT language=JavaScript>
          <!--
           var i;
            document.write('<INPUT type=reset value='+items[0].name+'>');
           for(i=1; i<items.length; i++)
            document.write('&nbsp;<INPUT type=button value="'+items[i].name+
                           '" onclick=show('+i+')>');
          //-->
          </SCRIPT>
         </NOBR>
        </TD>
      </TR>
    </TABLE>
    </FORM>
  </BODY>
</HTML>
Миниатюры
нужно сделать, чтобы работали кнопки запуска примеров  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2012, 20:36
Ответы с готовыми решениями:

Нужно, чтобы обе кнопки мыши работали с функцией Push но откидывали предметы в разные стороны
Мне понадобилось сделать что-то на подобии кликера, для этого у меня всё есть. Но мне нужно что бы...

Нужно, чтобы при отмеченном чекбоксе кнопки работали, а при снятии флажка переставали работать
Здравствуйте. Мне нужно, чтобы при чекнутом чекбоксе кнопки работали, а при снятии флажка кнопки...

TreeView: чтобы элементы дерева работали как кнопки
Здравствуйте! Использую компонент TreeView. Хотелось бы, чтобы элементы дерева работали как кнопки....

Можно ли сделать, чтобы таймеры работали одновременно?
using System; using System.Threading; using System.Windows; using System.Windows.Threading; ...

4
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
28.04.2012, 00:39 2
Испытатель ваш, хоть он и "Универсальный", но запускать должен всё же рабочие скрипты, а не филькину грамоту.
Так ведь?

1) А где у вас элемент формы с именем p в Примере 1?

2) И где вообще все элементы формы, с которыми оперирует скрипт из Примера 2?
Где obj, где pass, и по какому событию запускается функция Check ()?

3) И вообще - кто вас учил расставлять кавычки? "Покажите мне его - и я порву его как Тузик грелку"(с)
Посмотрите на строку номер 37 выложенного вами в вашем сообщении кода - это же полный бред!

Вам, походу, в дополнение к "Испытателю", надо ещё и универсального "Исправлятеля" ваших ошибок где-то надыбать
-----

1. В HTML не допускается вложенность друг в друга блоков <FORM>...</FORM>.
Отсюда - внешнюю форму (она у вас с именем menu) надо полностью ликвидировать из HTML-кода.
Потому как в обоих примерах у вас есть формы.
Которые, кстати, вам совершенно не нужны. Ни в вашем коде, ни в кодах примеров.
Форма - она только для отправки данных со страницы на сервер нужна.
Вы никуда ничего не отправляете. Так зачем она вам нужна?

Вот у вас, видимо, есть сумочка, с которой вы по Подмосковью гуляете, так?
Когда из дому выходите, в сумочку эту кладете свой мобильный телефон. Так?
Ну а дома, когда вы не гуляете, вы тоже, прежде чем кому-то позвонить, мобильник свой сначала в сумочку суёте, потом вытаскиваете и звоните? И так - каждый раз при звонке? Телефон "не из сумочки" у вас разве не работает?

2. Соответственно, чтобы обратиться теперь к <TEXTAREA> вне формы, лучше дать ему нормальный идентификатор id="edit"

3. Исполняться код должен где-то на обычном теге, а не поле ввода. Потому что кнопку внутри <TEXTAREA> нарисовать никак нельзя.
Т.е. нужен ещё один тег внутрь вашей красивой таблички.

4. Скрипт из примера "приживлять" надо к странице.

и т.д. и т.п.
-----

В общем, я исправил текст Примера 1 и внёс необходимые дополнения в ваш код. Запускаться будет только Пример 1.
Пример 2 сначала приведите в рабочий вид - дополните его нужными для работы тегами после скриптового блока. И тогда, если ничего не напутаете с кавычками, он тоже заработает.

Итак, полуотредактированным ваш код будет выглядеть так:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML lang="ru">
 
  <HEAD>
    <!-- Meta http equivalent was here                                                -->
    <TITLE>Универсальный испытатель скриптов</TITLE>
    <SCRIPT language=JavaScript>
    <!--
    // Конструктор объекта данных меню
    // name  - название пункта меню
    // text  - текст, соответствующий выбранному пункту
    function item (name, text)
    {
      this.name=name;
      this.text=text;
      return this;
    }
 
    // Данные длЯ меню
    var items = new Array(
       new item('Сброс',
                ' Это приложение\r\n'+
                ' Универасальный испытатель\r\n'+
                ' скриптов\r\n'),
       new item('Пример 1 \r\n',
               'Программное управление обычной кнопкой\r\n'+
                '<SCRIPT language=JavaScript>\r\n'+
                '<!--\r\n'+
                ' var num=0; \r\n'+
                ' var name0="число нажатий: 0"; \r\n'+
                ' //-- > \r\n'+
                ' </SCRIPT>\r\n'+
                ' <FORM name=count>\r\n'+
                ' <INPUT type=button value=сброс \r\n'+
                ' onclick="document.count.key.value=name0;num=0">\r\n'+   
                ' <INPUT type=button name=key value="число нажатий: 0" \r\n'+
                ' onclick="document.count.key.value=\'число нажатий: \'+(++num)">\r\n'+
                ' </FORM>'),
       new item('Запустить пример 1'),              
       new item('Пример 2',  //***ЭТОТ БРЕД НАДО ИСПРАВИТЬ
                'Программное управление вводом пароля\r\n'+
                '<SCRIPT language=JavaScript>\r\n'+
                '<!--\r\n'+
                'var key  = "js2011";\r\n'+
                'var mess = new Array("пароль не введен!",\r\n'+
                '"пароль правильный",\r\n'+
                '"пароль неверный");\r\n'+
                'function Check(obj)\r\n'+
                '{\r\n'+
                'var ind = 2;\r\n'+
                'if(!obj.pass.value)          ind = 0;\r\n'+
                'else if(obj.pass.value==key) ind = 1;\r\n'+
                'obj.mess.value=mess[ind];\r\n'+
                '}\r\n'+
                ' //-- > \r\n'+
                '</SCRIPT>\r\n'),
        new item('Запустить пример 2'),
        new item('Авторы',
                'Здесь\r\n'+
                'сведения\r\n'+
                'об авторах\r\n'+
                'приложения\r\n'),
       new item('Справочник',
                'Здесь\r\n'+
                'находится\r\n'+
                'справочник\r\n'+
                'по теме.')
                          );
 
    // Показ на экране i-го текста или исполнение i-го примера
    function show (i)
    {
    if (!items [i].name.indexOf ('Запустить'))
       {
       document.getElementById ('edit').value = '';
       document.getElementById ('edit').style.display = 'none';
          var str = (items [i - 1].text).split ('\r\n');
          for (var SCR = TXT = '', j = 1, k = lj = str.length; j < lj; j++)
             {
             if (j < k) 
                {
                str [j] = str [j].replace (/^ */, '')
                if (str [j].indexOf ('<SCR') != 0 && str [j].indexOf ('</SCR') != 0) SCR += (str [j] + '\r\n');
                if (str [j].indexOf ('</SCR') == 0) k = j;
                }
             else TXT += (str [j] + '\r\n');
             } 
          var newSCR = document.createElement ('script');
          newSCR.defer = true; newSCR.text = SCR; document.getElementById ('play').appendChild (newSCR);
          document.getElementById ('play').innerHTML = TXT;
          document.getElementById ('play').style.display = '';
       }
    else
       {
       document.getElementById ('play').innerHTML = '';
       document.getElementById ('play').style.display = 'none';
          document.getElementById ('edit').value = items [i].text;
          document.getElementById ('edit').style.display = '';
       }
    }
    //-->
    </SCRIPT>
  </HEAD>
  <BODY bgcolor="#000" text="#FFF">
   <H2>Лабораторная работа</H2>
    <P>
    <TABLE width="75%" border="1" cellspacing="0" cellpadding="25">
      <TR>
        <TD style="height: 300px">
            <div style="height: 300px; background-color: #FFFFCC">
            <SCRIPT>
            document.write(
              '<TEXTAREA id="edit" readonly style="width: 100%; height: 100%; resize: none; border: none; background-color: #fff; margin: 0">'+
                items[0].text +
              '</TEXTAREA><div id="play" style="color: #000; display: none; padding: 20px; margin: 0"></div>');
          </SCRIPT>
          </div>
         <NOBR>
          <SCRIPT>
           for (var i = 0; i < items.length; i++)
              document.write ('<INPUT type=button value="'+items[i].name+
                           '" onclick=show('+i+')>&nbsp;');
          </SCRIPT>
         </NOBR>
        </TD>
      </TR>
    </TABLE>
  </BODY>
</HTML>
Миниатюры
нужно сделать, чтобы работали кнопки запуска примеров  
1
1 / 1 / 0
Регистрация: 28.06.2011
Сообщений: 20
28.04.2012, 12:45  [ТС] 3
Исправила ошибки, все работает. Огромное спасибо за помощь! И не судите строго, я обычная студентка и только учусь
0
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 55
17.05.2015, 08:54 4
Извините, пытаюсь по Вашей программе сделать, а как вы второе исправили? А то что то не получается у меня..
0
1 / 1 / 0
Регистрация: 28.06.2011
Сообщений: 20
17.05.2015, 16:46  [ТС] 5
Вот так был доделан код примера 2
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
       new item('Пример 2',
                'Программное управление вводом пароля\r\n'+
                '<SCRIPT language=JavaScript>\r\n'+
                '<!--\r\n'+
                'var key  = "js2011";\r\n'+
                'var mess = new Array("пароль не введен!",\r\n'+
                '"пароль правильный",\r\n'+
                '"пароль неверный");\r\n'+
                'function Check(obj)\r\n'+
                '{\r\n'+
                'var ind = 2;\r\n'+
                'if(!obj.pass.value)          ind = 0;\r\n'+
                'else if(obj.pass.value==key) ind = 1;\r\n'+
                'obj.mess.value=mess[ind];\r\n'+
                '}\r\n'+
                ' //-- > \r\n'+
                '</SCRIPT>\r\n'+
                '<FORM>\r\n'+
                '<TABLE border=1 bgcolor=#C0C0B0 cellspacing=0 \r\n'+
                'cellpadding=10>\r\n'+
                '<TR><TD>\r\n'+
                'Введите пароль и нажмите “пуск”.\r\n'+
                '<TABLE border=0>\r\n'+
                '<TR>\r\n'+
                '<TD>Пароль:</TD>\r\n'+
                '<TD>\r\n'+
                '<INPUT type=password size=6 value="" name=pass>\r\n'+
                '</TD>\r\n'+
                '<TD>\r\n'+
                '<INPUT type=text size=30 value="" name=mess>\r\n'+
                '</TD>\r\n'+
                '</TR>\r\n'+
                '<TR>\r\n'+
                '<TD>&nbsp;</TD>\r\n'+
                '<TD>\r\n'+
                '<INPUT type=button value=пуск\r\n'+
                'onclick="Check(this.form);">\r\n'+
                '</TD>\r\n'+
                '<TD>\r\n'+
                '<INPUT type=reset value=сброс>\r\n'+
                '<TD>\r\n'+
                '</TR>\r\n'+
                '</TABLE>\r\n'+
                '</TD></TR>\r\n'+
                '</TABLE>\r\n'+
                '</FORM>\r\n'),
0
17.05.2015, 16:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2015, 16:46
Помогаю со студенческими работами здесь

Как сделать, чтобы работали обе формы?
Здравствуйте подскажите как сделать что бы работало 2 формы с одной будет производиться запись в...

Как сделать чтобы работали все игры которые работают на Windows 7, но чтобы оставался Windows XP
подскажите как поступить у меня такая ситуация хочу поиграть в старую игрушку которая работает на...

Как сделать чтобы 2 сетевые карты работали одновременно?
Здравствуйте. У меня в компе 2 сетевые карты, на одной местная лок.сеть, на другой постоянный...

Как сделать, чтобы два монитора работали независимо?
Здравствуйте! Вопрос такой: как расширить рабочий стол в Mint 14 на два монитора? При подключении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru