Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.11.2014, 19:12
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Создать кнопку с событием
Доброго времени суток. В JS новичек. Такая проблема хочу создать кнопку, при нажатии на которую создается еще кнопка. Изначально создано две кнопки "Автомат" и "Ручное". При нажатии на Ручное должно создать внизу(под Ручным) кнопку. Вот код
var a= 0;
   onload = function vizovRuchnoi(){
      if (a == 0) {
          var btn = document.createElement('input');
          btn.id = 'b1';
          btn.type = 'button';
          btn.value = 'Ручное переключение';

          document.body.appendChild(btn);
          document.getElementById('b1').onclick = sozdaemTriKnopki();
          btn.setAttribute('onclick', 'sozdaemTriKnopki');

          var btn1 = document.createElement('input');
          btn1.id = 'b2';
          btn1.type = 'button';
          btn1.value = 'Автоматическое переключение';
          btn1.setAttribute('onclick', 'obj.HandleClick1();');
          document.body.appendChild(btn1);
          a = 1;
      }
   }
var b =0;
function sozdaemTriKnopki(){
   if ( b== 0){
       var btn = document.createElement('input');
       btn.id = 'b1_1';
       btn.type = 'button';
       btn.value = 'Красный11';
       document.body.appendChild(btn);
       b = 1;
   }
}
Ответить с цитированием
  #2 (permalink)  
Старый 22.11.2014, 19:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Vladimir93
document.getElementById('b1').onclick = sozdaemTriKnopki();11 btn.setAttribute('onclick', 'sozdaemTriKnopki');
или
btn.onclick = sozdaemTriKnopki;
или
document.getElementById('b1').onclick = sozdaemTriKnopki
Ответить с цитированием
  #3 (permalink)  
Старый 22.11.2014, 19:27
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Сообщение от рони Посмотреть сообщение
или
btn.onclick = sozdaemTriKnopki;
или
document.getElementById('b1').onclick = sozdaemTriKnopki
Я пробовал и так и так. Оно то кнопку создает, но сразу при загрузку страницу, как будто метод sozdaenTrKnopki вызывается сразу. А надо, чтобы после нажатия мыши. ЧТо не так?
Ответить с цитированием
  #4 (permalink)  
Старый 22.11.2014, 19:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vladimir93,
сделай как написано выше
Ответить с цитированием
  #5 (permalink)  
Старый 22.11.2014, 19:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vladimir93,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title><meta charset="utf-8">
  <script>
    var a= 0;
   onload = function vizovRuchnoi(){
      if (a == 0) {
          var btn = document.createElement('input');
          btn.id = 'b1';
          btn.type = 'button';
          btn.value = 'Ручное переключение';

          document.body.appendChild(btn);

          btn.onclick = sozdaemTriKnopki;

          var btn1 = document.createElement('input');
          btn1.id = 'b2';
          btn1.type = 'button';
          btn1.value = 'Автоматическое переключение';
         // btn1.setAttribute('onclick', 'obj.HandleClick1();');
          document.body.appendChild(btn1);
          a = 1;
      }
   }
var b =0;
function sozdaemTriKnopki(){
   if ( b== 0){
       var btn = document.createElement('input');
       btn.id = 'b1_1';
       btn.type = 'button';
       btn.value = 'Красный11';
       document.body.appendChild(btn);
       b = 1;
   }
}

  </script>
</head>

<body>

</body>

</html>
Ответить с цитированием
  #6 (permalink)  
Старый 22.11.2014, 19:31
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Сообщение от рони Посмотреть сообщение
Vladimir93,
сделай как написано выше
Блин. Спасибо. До этого писал только на Java, и там методы вызываются только с (), а здесь не так...
Ответить с цитированием
  #7 (permalink)  
Старый 22.11.2014, 19:32
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Тогда такой вопрос, что в стилях надо указать, чтобы кнопка внизу создалась, а не последовательно в строку...
Ответить с цитированием
  #8 (permalink)  
Старый 22.11.2014, 19:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vladimir93,
#b1_1{
  display: block;
}
Ответить с цитированием
  #9 (permalink)  
Старый 22.11.2014, 20:32
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Рони, можно еще вопрос. Допустим у меня есть две кнопки, идущие в линию. При нажатии на одну создаются 4-ре кнопки внизу в столбец в помощью display: block. А как добавить четвертую не в столбец, а в ту линию, где две первоначальные?
Ответить с цитированием
  #10 (permalink)  
Старый 22.11.2014, 20:46
Интересующийся
Отправить личное сообщение для Vladimir93 Посмотреть профиль Найти все сообщения от Vladimir93
 
Регистрация: 08.11.2014
Сообщений: 27

Сообщение от рони Посмотреть сообщение
Vladimir93,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title><meta charset="utf-8">
  <script>
    var a= 0;
   onload = function vizovRuchnoi(){
      if (a == 0) {
          var btn = document.createElement('input');
          btn.id = 'b1';
          btn.type = 'button';
          btn.value = 'Ручное переключение';

          document.body.appendChild(btn);

          btn.onclick = sozdaemTriKnopki;

          var btn1 = document.createElement('input');
          btn1.id = 'b2';
          btn1.type = 'button';
          btn1.value = 'Автоматическое переключение';
         // btn1.setAttribute('onclick', 'obj.HandleClick1();');
          document.body.appendChild(btn1);
          a = 1;
      }
   }
var b =0;
function sozdaemTriKnopki(){
   if ( b== 0){
       var btn = document.createElement('input');
       btn.id = 'b1_1';
       btn.type = 'button';
       btn.value = 'Красный11';
       document.body.appendChild(btn);
       b = 1;
   }
}

  </script>
</head>

<body>

</body>

</html>
кстати, а если в методе будет аргумент, тогда работать не будет?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
повешать функицю на кнопку proro4eg jQuery 1 23.10.2014 16:48
как по клику на кнопку получить отмеченный объект pirat9629 ExtJS 0 19.08.2014 11:49
Создать кнопку по клику Mecm Общие вопросы Javascript 2 29.07.2013 17:25
Создать кнопку, для проигрывания музыки! Как? Foleyer Общие вопросы Javascript 13 11.04.2013 16:43
Создать узел <img> внутри <div> glutton Events/DOM/Window 1 09.11.2009 14:41