Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.08.2011, 14:06
Аспирант
Отправить личное сообщение для abstract Посмотреть профиль Найти все сообщения от abstract
 
Регистрация: 20.09.2010
Сообщений: 58

IE 8 Не удалось получить значение свойства "match": значением объекта является null
Ну, собственно вот:
SCRIPT5007: Не удалось получить значение свойства "match": значением объекта является NULL или он не определен
checks.js, строка 382 символ 2

В IE9 нет проблем, в FF6 и Хроме тоже нет.
Кусок:
function sethiddeninput(element)//для работы c полями адреса
{
	var id;
	id=element.getAttribute('id');
	id=id.replace(/\.\d*$/,'');
	var hidden;
	hidden=document.getElementById(id);
	var name;
	name=element.getAttribute('name');
	var value;
	value=hidden.getAttribute('value');
	var reg=new RegExp(name+'.*?;');// строка 382 ТУТ!
	if (value.match(reg)){
		value=value.replace(reg, name+element.value+';');
		hidden.setAttribute('value', value);
	}else{
		hidden.setAttribute('value', value+name+element.value+';');
	}
}
Ответить с цитированием
  #2 (permalink)  
Старый 26.08.2011, 14:26
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Видимо, value null или undefined. Попробуйте заменить
Сообщение от abstract
value=hidden.getAttribute('value');
на
value=hidden.value


P.S. Какой смысл в том, чтобы получить ID элемента, а потом выбрать элемент по этому ID?
UPD: точно, не заметил обработку ID.

Последний раз редактировалось B@rmaley.e><e, 26.08.2011 в 15:31.
Ответить с цитированием
  #3 (permalink)  
Старый 26.08.2011, 15:27
Аспирант
Отправить личное сообщение для abstract Посмотреть профиль Найти все сообщения от abstract
 
Регистрация: 20.09.2010
Сообщений: 58

Точно так,B@rmaley.e><e.
function sethiddeninput(element)//для работы c полями адреса
{
	var id;
	id=element.getAttribute('id');
	id=id.replace(/\.\d*$/,'');
	var hidden;
	hidden=document.getElementById(id);
	var name;
	name=element.name;
	var value;
	value=hidden.value;//Вот так никаких проблем.
	var reg=new RegExp(name+'.*?;');
	if (value.match(reg)){
		value=value.replace(reg, name+element.value+';');
		hidden.setAttribute('value', value);
	}else{
		hidden.setAttribute('value', value+name+element.value+';');
	}
}

"P.S. Какой смысл в том, чтобы получить ID элемента, а потом выбрать элемент по этому ID?"
А вот в этом вся соль:
id=element.getAttribute('id');
05	    id=id.replace(/\.\d*$/,'');

а вот потом:
hidden=document.getElementById(id);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить значение свойства слоя в программе andrk Events/DOM/Window 3 09.08.2011 16:20
получить значение свойства class у div Leax Events/DOM/Window 8 07.02.2010 20:00
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00