Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2012, 17:43
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

Создание кнопок исключительно JS-ом
Пытался это сделать посредством :


чтоб JS создал 24 кнопки и навесил на них значение цифр (1-24) выводя их в отдельную строку

Последний раз редактировалось Voksin, 19.12.2012 в 18:27.
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2012, 18:05
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Я мож неправильно понял, но предложу такой код:

function doSomething(){
    alert(this.textContent);
}

var fragment = document.createDocumentFragment();

for (var i=0; i<24; i++) {
    var button = document.createElement('button');
    button.textContent = i + 1;
    button.onclick = doSomething;
    fragment.appendChild(button);
}

document.body.appendChild(fragment);
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2012, 18:10
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

а почему textContent а не innerHTML?.. кроссбраузерно же..
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2012, 18:36
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Voksin,
<html>
<head>
<script>
function myFunction() {
    var btn, t;
    for (i=0; i < 24; i++) {
        btn=document.createElement("BUTTON");
        t=document.createTextNode("CLICK ME "+i);
        btn.appendChild(t);
        btn.onclick = (function(i){ return function() { alert(i); } })(i);
        document.body.appendChild(btn);
    }
}
</script>
</head>
<body>
<button onclick="myFunction()">Try it</button>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 23.11.2012, 19:06
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

Сообщение от lord2kim Посмотреть сообщение
Voksin,
<html>
<head>
<script>
function myFunction() {
    var btn, t;
    for (i=0; i < 24; i++) {
        btn=document.createElement("BUTTON");
        t=document.createTextNode("CLICK ME "+i);
        btn.appendChild(t);
        btn.onclick = (function(i){ return function() { alert(i); } })(i);
        document.body.appendChild(btn);
    }
}
</script>
</head>
<body>
<button onclick="myFunction()">Try it</button>
</body>
</html>
Cпасибо огромное !
P.S. как вариант можно реализовать чтоб кнопки появлялись просто при загрузки хмль-ки, не клацая по кнопке?

Последний раз редактировалось Voksin, 19.12.2012 в 18:28.
Ответить с цитированием
  #6 (permalink)  
Старый 23.11.2012, 19:36
Аватар для Dim@
Профессор
Отправить личное сообщение для Dim@ Посмотреть профиль Найти все сообщения от Dim@
 
Регистрация: 21.04.2012
Сообщений: 951

Voksin,
<html>
<head>
</head>
<body>
<script>
(function () {
    var btn, t;
    for (i=0; i < 24; i++) {
        btn=document.createElement("BUTTON");
        t=document.createTextNode("CLICK ME "+i);
        btn.appendChild(t);
        btn.onclick = (function(i){ return function() { alert(i); } })(i);
        document.body.appendChild(btn);
    }
})();
</script>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 23.11.2012, 20:25
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

Dim@, спасибо! именно так я и хотел сделать
Ответить с цитированием
  #8 (permalink)  
Старый 26.11.2012, 18:41
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

допустим в верстке есть некий
<INPUT TYPE=text NAME="view" SIZE=30>
подскажите плз как заствить js записывать в это поле кликнутую кнопку ?
P.S. только плз не забрасывайте тухлыми яйцами
Ответить с цитированием
  #9 (permalink)  
Старый 26.11.2012, 19:32
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Voksin, что имелось в виду под
Сообщение от Voksin Посмотреть сообщение
заствить js записывать в это поле кликнутую кнопку ?
?
<html>
<head>
</head>
<body>
<script>
(function () {
    var btn, t;
    for (i=0; i < 24; i++) {
        btn=document.createElement("BUTTON");
        t=document.createTextNode("CLICK ME "+i);
        btn.appendChild(t);
        btn.onclick = (function(i){ return function() { alert(i); } })(i);
        document.body.appendChild(btn);
    }
})();

document.body.onclick = function(e) {
  var e = e || event;
  var target = e.target;
  if (target.tagName == "BUTTON") {
    document.getElementsByName("view")[0].value = target.innerHTML;
  }
}
</script>
<INPUT TYPE=text NAME="view" SIZE=30>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 26.11.2012, 20:02
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

lord2kim,
оно, спасибо, сказываются пробелы в знании js...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание теста на JS сложная система Berowz Общие вопросы Javascript 7 10.03.2012 23:42
создание изображений в js jvs Общие вопросы Javascript 3 29.09.2011 20:57
создание файлов с помощью js по имени компьютера DIMMon Общие вопросы Javascript 2 28.10.2010 15:42
Создание xml с помощью JS балерун Общие вопросы Javascript 4 20.04.2010 11:59
Создание ряда кнопок Neuromance Я не знаю javascript 1 11.06.2009 17:06