Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2009, 14:50
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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

В новый файл скопировал только:
function keyValidChange(x)
{
    /*
    весь код закомментировал
    */

}

<form action="" method="post" name="form2">
<input name="mheight" type="text" size="3"  maxlength="3" onChange="keyValidChange(1)" >
фокус
</form>

Все равно, вводишь что-то в поле, щелкаешь например по тексту "фокус" и появляется ошибка. Причем не каждый раз, а через раз.
Если вместо onChange onBlur поставить - реже, но тоже появляется.
Причем заметил - только если вводить цифры

Может из-за FireBug? Недавно его поставил - в нем кстати ноль реакции.
Или Mozilla заглючила? Или мой onkeypress как-то запомнился и конфликтует?

Текст ошибки:

Что же делать?
Ответить с цитированием
  #4 (permalink)  
Старый 12.10.2009, 15:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от micscr
В новый файл скопировал только:
Не в новом файле, а в новом профиле firefox'а. Ошибка не в вашем скрипте, а в мозилловском, или расширение какое-то глючит.
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2009, 17:32
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Удалил полностью Mozilla с чисткой реестра и удалением оставшихся файлов с диска. Переустановил из архива, никаких специальных дополнений.
Результат - ошибка осталась, только реже выскакивает.....
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2009, 17:53
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

Еще прикол.
После перестановки "маленький" обрезанный (пробный) файл работает как надо.
Запускаю основной файл (из 1-ого поста) - тоже какое-то время нормально, но потом ошибка.
И после этого и "маленький" сразу начинает выдавать ошибку.
Идет какое-то запоминание на уровне приложения вне зависимости даже от перезагрузки.

Вывод: сам того не желая написал "убийцу" FireFox, а проверки
наверное придется делать на php... Что с кодом не так - не пойму.
Ответить с цитированием
Ответ



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

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