Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   IE 8 Не удалось получить значение свойства "match": значением объекта является null (https://javascript.ru/forum/css-html-internet-explorer/21029-ie-8-ne-udalos-poluchit-znachenie-svojjstva-match-znacheniem-obekta-yavlyaetsya-null.html)

abstract 26.08.2011 14:06

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+';');
	}
}

B@rmaley.e><e 26.08.2011 14:26

Видимо, value null или undefined. Попробуйте заменить
Цитата:

Сообщение от abstract
value=hidden.getAttribute('value');

на
value=hidden.value


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

abstract 26.08.2011 15:27

Точно так,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);


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