Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   ошибка в setAttributeNode - помогите пожалуйста (https://javascript.ru/forum/events/14410-oshibka-v-setattributenode-pomogite-pozhalujjsta.html)

Dron13 14.01.2011 23:00

ошибка в setAttributeNode - помогите пожалуйста
 
Всем привет, вот написал js код, но он не работает так как я задумывал,
ошибка в setAttributeNode(id);
Вот посмотрите код:
window.onload = function() {
	document.getElementById('in').onfocus = form;	
}
function form() {
	var login = document.getElementById('log').value;
	var pass = document.getElementById('pass').value;
	if(login == "" && pass == "") {
		// Создаем блок тэгов
		var submit = document.getElementById('former');
		// Получаем все тэги
		var container = submit.getElementsByTagName('input');
		// Создаем элемент input
		var sub = document.createElement('input');
		// Создаем атрибуты для элемента кнопки
		var type = document.createAttribute('type');
		var id = document.createAttribute('id');
		// Создаем значение атрибутов
		var dis = document.createAttribute('disabled');
		var subval = document.createTextNode('submit');
		var forDis = document.createTextNode('disabled');
		var forid = document.createTextNode('in');
		// Присваиваем атрибутам значения
		dis.nodeValue = forDis;
		id.nodeValue = forid;
		type.nodeValue = subval;
		// Присваиваем нашему конечному тэгу все атрибуты
		sub.setAttributeNode(id).setAttributeNode(dis);
		// Заменяем старую кнопку новой
		submit.replaceChild(sub,container.item(2));
		return false;
	}
}


А вот формочка с которой я работаю:
<form action="authPW&LOG.php" method="POST" id="former" name="form" style="margin-top:5px;">
    <label>Email или логи</label><br>
    <input type="text" name="log" id="log" class="forms"><br>
    <label>Пароль</label><br>
    <input type="password" name="pass" id="pass" class="forms"><br>
    <input type="submit" class="sub" name="in" id="in" value="Войти">
    </form>

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

Dron13 14.01.2011 23:20

немного переделал скрипт, просто разделил это строчку
sub.setAttributeNode(id).setAttributeNode(dis);
и вместо onfocus поставил onmouseover
две части, скрипт заработал, кнопка перестала нажиматься, но когда ввожу данные, кнопка остается ненажимаемой


Часовой пояс GMT +3, время: 20:41.