Javascript.RU

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

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


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

Последний раз редактировалось Voksin, 19.12.2012 в 16:27.
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2012, 16: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, 16:10
Аватар для deivan
Профессор
Отправить личное сообщение для deivan Посмотреть профиль Найти все сообщения от deivan
 
Регистрация: 02.08.2012
Сообщений: 293

а почему textContent а не innerHTML?.. кроссбраузерно же..
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2012, 16: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, 17: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 в 16:28.
Ответить с цитированием
  #6 (permalink)  
Старый 23.11.2012, 17: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, 18:25
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

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

допустим в верстке есть некий
<INPUT TYPE=text NAME="view" SIZE=30>
подскажите плз как заствить js записывать в это поле кликнутую кнопку ?
P.S. только плз не забрасывайте тухлыми яйцами
Ответить с цитированием
  #9 (permalink)  
Старый 26.11.2012, 17: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, 18:02
Интересующийся
Отправить личное сообщение для Voksin Посмотреть профиль Найти все сообщения от Voksin
 
Регистрация: 23.11.2012
Сообщений: 10

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



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

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


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