Показать сообщение отдельно
  #1 (permalink)  
Старый 12.10.2009, 10:26
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

cannot modify properties of a WrappedNative
Привет.
Выскакивает только в Mozilla ошибка "cannot modify properties of a WrappedNative nresult:0x80570034"
Форма:
<form action="" method="post" enctype="multipart/form-data" name="form2" onSubmit="return validSubmit()">
<input name="mheight" type="text" size="3" maxlength="3" onKeyPress="return keyValid(event)" onChange="keyValidChange(1)">
<input name="mwidth" type="text" size="3" maxlength="3" onKeyPress="return keyValid(event)" onChange="keyValidChange(2)" onFocus="newValueRad()">
</form>

Код:
function validSubmit()
{
    //Проверка перед отправкой
	if (document.form2.mheight.value=='') {
	    alert('Введите высоту миниатюры');
		document.form2.mheight.focus();
		return false;
	}
	var rad=getRadioValue(document.form2.what);
	if (rad==3) {
	    if (document.form2.mwidth.value=='') {
	        alert('Введите ширину миниатюры');
		    document.form2.mwidth.focus();
		    return false;
	    }
	}
}

function keyValidChange(x)
{
    // onChange полей ввода ширины и высоты
    var obj=null;
	if (x==1) {
	    obj=document.form2.mheight;
	}
	if (x==2) {
	    obj=document.form2.mwidth;
	}	
	if (!obj) {
	    return;
	}
	var text=obj.value;
	var flag=false;
	for (var i=0;i<text.length;i++)
	{
	    var kod=text.charCodeAt(i);
		if ((kod<48)||(kod>57)) {
		    flag=true;
			break;
		}
	}
	if (flag) {
	    obj.value='';
	} else {
	    var k=parseInt(obj.value);
		if (isNaN(k)) {
		    obj.value='';return;
		}		
		// проверяем min размеры
		if (obj.name=='mwidth') {
		    if (k<minWidth) {
			    k='';
			}
		}
		if (obj.name=='mheight') {
		    if (k<minHeight) {
			    k='';
			}
		}

		obj.value=k;		
	}
	
}
//
function keyValid(event)
{
    // очень приблизительная проверка по onkeypress
	try {
	event=event || window.event;
	var keycode=event.which||event.keyCode;
	if ((keycode==0)||(keycode==8)||
	    (keycode==9)||(keycode==37)||
		(keycode==39)||(keycode==46)) { 
	    return true;
	} 	
	if ((keycode<48)||(keycode>57)) { 
	    return false;
	} 
	} catch (e)
	{
	alert('Error');
	}
}

Возникает при убирании фокуса с первого инпута и
иногда при сабмите. Не могу понять - из-за чего.
Спасибо.

Последний раз редактировалось micscr, 12.10.2009 в 11:15.
Ответить с цитированием