Javascript.RU

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

onchange для button и ...
Здравствуйте! помогите с проблемой:
задача - создать страницу средствами только javascript.
вот мой код:

<HTML>

<HEAD>

<TITLE> EXAMPLE222 </TITLE>

<script type="text/javascript">

function sendms()
{
alert("777");
return true;
}

function count1()
{
alert("777");
}


function NewFile1()
{
alert("777");
}


function CreateForm1()
{
var body1 = document.getElementsByTagName("body")[0];
var div1 = document.createElement("div");
div1.id = "div1";
div1.style.position = "absolute";
div1.style.width = "30%";
div1.style.height = "90%";
div1.style['background'] = '#94e8eA';
div1.style.border = '1px solid black'
//div1.style.textAlign = "center";
var p1 = document.createElement("p");
var p2 = document.createElement("p");
var p3 = document.createElement("p");
var p4 = document.createElement("p");
var p5 = document.createElement("p");
var p6 = document.createElement("p");
var p7 = document.createElement("p");

var field1 = document.createElement("input");
field1.id = "field1";
field1.type = "text";
var field2 = document.createElement("input");
field2.id = "field2";
field2.type = "text";
var field3 = document.createElement("input");
field3.id = "field3";
field3.type = "text";
var field4 = document.createElement("input");
field4.id = "field4";
field4.type = "text";


var button1 = document.createElement("input");
button1.id = "button1";
button1.type = "button";
button1.value = "Send";
button1.onchange = "return sendms()";

file1 = document.createElement("input");
file1.id = "file1";
file1.type = "file";
file1.onchange = "NewFile1()";
file2 = document.createElement("input");
file1.id = "file2";
file2.type = "file";
file2.onchange = "NewFile2()";
file2.disabled = "true";

var textarea1 = document.createElement("textarea");
textarea1.id = "textarea1";
textarea1.widht = "400px";
textarea1.height = "300px";
textarea1.overflow = "auto";
textarea1.onKeyUp="count1()";

var i1 = document.createTextNode("Name");
var i2 = document.createTextNode("E-mail");
var i3 = document.createTextNode("URL");
var i4 = document.createTextNode("File");
var i5 = document.createTextNode("Commetns");
var i6 = document.createTextNode("Max - 1000, remains - ");
var i7 = document.createTextNode(" ");
p1.appendChild(i1);
p2.appendChild(i2);
p3.appendChild(i3);
p4.appendChild(i4);
p5.appendChild(i5);
p6.appendChild(i6);
p7.appendChild(i7);

body1.appendChild(div1);
//vivod
div1.appendChild(p1);
div1.appendChild(field1);
div1.appendChild(p2);
div1.appendChild(field2);
div1.appendChild(p3);
div1.appendChild(field3);
div1.appendChild(p4);
div1.appendChild(file1);
div1.appendChild(file2);
div1.appendChild(p5);
div1.appendChild(textarea1);
div1.appendChild(p6,p7);
div1.appendChild(field4);
div1.appendChild(p7);
div1.appendChild(button1);
//alert("777");
}


</script>

<STYLE>

</STYLE>

</HEAD>

<BODY>

<script type="text/javascript">

CreateForm1();

</script>

<BODY>

</HTML>

при решении столкнулся со следующими проблемами:
1. нужно,чтобы при выборе файла input - file, следующий объект file становился активным, затем появлялся еще 1 и так далее.
Попытался сделать событие onchange, и далее изменить свойство disabled - true, но событиене работает...
2. неработает событие кнопки send - onclick
3. как вывести в через javascript несколько объектовна одной строке?
Ответить с цитированием
  #2 (permalink)  
Старый 05.10.2011, 20:31
Интересующийся
Отправить личное сообщение для koxt Посмотреть профиль Найти все сообщения от koxt
 
Регистрация: 26.09.2011
Сообщений: 13

Прочитайте об оформлении кода здесь
2. В HTML обработчик onclick элемента input ссылается на строку,а созданный элемент JavaScript должен ссылаться на объект Function.

button1.onclick = sendms;


1. То же самое с файлом
file1.onchange = NewFile1;


Атрибут disabled элемента имеет булево значение.
file2.disabled = true;
file2.disabled = false;


Сообщение от dkachan Посмотреть сообщение
3. как вывести в через javascript несколько объектовна одной строке?
Что имеется ввиду?
Ответить с цитированием
  #3 (permalink)  
Старый 05.10.2011, 23:55
Новичок на форуме
Отправить личное сообщение для dkachan Посмотреть профиль Найти все сообщения от dkachan
 
Регистрация: 05.10.2011
Сообщений: 3

спасибо, очень помогло.
насчет пункта 3 - если написать div1.appendChild(p1); div1.appendChild(field1);, то надпись и поле выведутся еа разных строках, а мне надо на одной, или 2 поля на одной строке, то есть без <br>
Ответить с цитированием
  #4 (permalink)  
Старый 06.10.2011, 00:31
Новичок на форуме
Отправить личное сообщение для dkachan Посмотреть профиль Найти все сообщения от dkachan
 
Регистрация: 05.10.2011
Сообщений: 3

textarea1.onKeyUp = count1; так не работает... не срабатывает функция по вводу в textarea1.
почему не textarea1.onKeyUp = count1(); ?
Ответить с цитированием
  #5 (permalink)  
Старый 06.10.2011, 00:39
Интересующийся
Отправить личное сообщение для koxt Посмотреть профиль Найти все сообщения от koxt
 
Регистрация: 26.09.2011
Сообщений: 13

сравните варианты разметки:
<p>Name</p>
<input type="text" >

<label>Name</label><input type="text">
Ответить с цитированием
  #6 (permalink)  
Старый 06.10.2011, 00:52
Интересующийся
Отправить личное сообщение для koxt Посмотреть профиль Найти все сообщения от koxt
 
Регистрация: 26.09.2011
Сообщений: 13

textarea1.onkeyup = count1
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
не срабатывает onchange для <input type="text" thunder2 Events/DOM/Window 5 14.01.2010 10:37
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31