Показать сообщение отдельно
  #1 (permalink)  
Старый 16.08.2012, 18:44
Профессор
Отправить личное сообщение для bpystep Посмотреть профиль Найти все сообщения от bpystep
 
Регистрация: 06.08.2010
Сообщений: 161

замена строки, упрощение
Добрый день, есть работающий код, но написан по-индусски. Расскажите как упросить, если такое возможно.

function addCheckbox() {
	var elem = event.target;
	if (elem.checked) {
		document.getElementById('checkboxes').value += ','+elem.value+',';
	}
	else {
		if (regular(elem.value,'g',document.getElementById('checkboxes').value)) {	
			document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.replace(elem.value,'');
		}
	}
	if (document.getElementById('checkboxes').value[document.getElementById('checkboxes').value.length-1] == ',') {
		document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.substr(0,document.getElementById('checkboxes').value.length-1);
	}
	if (document.getElementById('checkboxes').value[0] == ',') {
		document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.substr(1,document.getElementById('checkboxes').value.length);
	}
	if (regular(',,','g',document.getElementById('checkboxes').value)) {
		document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.replace(',,',',');
	}
}
function regular(reg, flags, nValue) { //регулярка на совпадение
	var myReg = new RegExp (reg, flags);
	if (myReg.exec(nValue)) return true;
	else return false;
}
Ответить с цитированием