Вход

Просмотр полной версии : cannot modify properties of a WrappedNative


micscr
12.10.2009, 10:26
Привет.
Выскакивает только в 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');
}
}

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

Kolyaj
12.10.2009, 14:50
На чистом профиле попробуйте.

micscr
12.10.2009, 15:34
В новый файл скопировал только:

function keyValidChange(x)
{
/*
весь код закомментировал
*/

}

<form action="" method="post" name="form2">
<input name="mheight" type="text" size="3" maxlength="3" onChange="keyValidChange(1)" >
фокус
</form>
Все равно, вводишь что-то в поле, щелкаешь например по тексту "фокус" и появляется ошибка. Причем не каждый раз, а через раз.
Если вместо onChange onBlur поставить - реже, но тоже появляется.
Причем заметил - только если вводить цифры :blink:

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

Текст ошибки:
http://i063.radikal.ru/0910/31/e432d139c677.jpg
Что же делать?

Kolyaj
12.10.2009, 15:48
В новый файл скопировал только:
Не в новом файле, а в новом профиле firefox'а. Ошибка не в вашем скрипте, а в мозилловском, или расширение какое-то глючит.

micscr
12.10.2009, 17:32
Удалил полностью Mozilla с чисткой реестра и удалением оставшихся файлов с диска. Переустановил из архива, никаких специальных дополнений.
Результат - ошибка осталась, только реже выскакивает.....

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

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