Показать сообщение отдельно
  #4 (permalink)  
Старый 16.08.2010, 17:06
Интересующийся
Отправить личное сообщение для copenhagen Посмотреть профиль Найти все сообщения от copenhagen
 
Регистрация: 01.07.2010
Сообщений: 18

По совету Octane поменял имя, все заработало. Потребовалось сделать еще одно изменение в скрипт. Суть вообще всего скрипта проста: по нажатии появляется форма для ввода текста, повторным нажатием скрывается. При этом при появлении/скрытии введенный текст в поле не должен исчезать, а должен сохраняться (а то вдруг случайно нажали). При этом еще один выпадающий список делается нерабочим/рабочим - конкретно тут проблемы нет.
function addManufacturer() {
	form = document.getElementById('newManufacturerDivTag');
	form2 = document.getElementById('chooseManufacturer');
	form3 = document.getElementById('newManufacturerInputTag');		
	var inputPrevious;
	if(form.innerHTML=='') {
		if(inputPrevious.length>0) form.innerHTML='<input name="newManufacturerName" id="newManufacturerInputTag" type="text" value="'+inputPrevious+'">';
		else form.innerHTML='<br><input name="newManufacturerName" id="newManufacturerInputTag" type="text">';
		form2.disabled='true';	 
	}
	else {
		inputPrevious = form3.value;
		form.innerHTML='';	
		form2.disabled='';
	}



}

<select name="m_id" id="chooseManufacturer">
...
<div id="newManufacturerDivTag"><br><input name="newManufacturerName" id="newManufacturerInputTag" type="text" value=""></div>

Вот такой код не работает, у меня ощущение что переменная inputPrevious после выполнения функции получает значение, но не сохраняется, и поэтому условие if(inputPrevious.length>0) показывает ошибку. А вот почему так происходит? Вроде она локальная для функции, должна сохраняться.
Ответить с цитированием