firefox и chrome не хотят работать с this (js)

12 3
RO
На сайте с 13.07.2009
Offline
88
1044

<input type="text" value="2" onblur="makeRequest('/index.php','?act=somevar&num='+this.value);"> передает старое значение которое уже имеется в value, опера и ослэ нормально все обрабатывают. как бороться?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#1

onblur - это потеря фокуса...., вы хотите делать ajax запрос по этому событию... нужно использовать onChange... это связанно с кривой трактовкой событий в лисе.... а еще правильней, запрашивать состояние этого поля из скрипта makeRequest. т.е. уже в скрипте собирать всю строку запроса

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
RO
На сайте с 13.07.2009
Offline
88
#2

роли не играет onchange или onblur, в лисе и хроме передается старое значение которое вписано в value а не новое которое вписывает юзер. в опере и ослэ все нормально передается..

T.R.O.N
На сайте с 18.05.2004
Offline
314
#3

<script>

function makeRequest(a,b,c){

alert(a + b + c.value);

}

</script>

<input type="text" value="2" onchange="makeRequest('/index.php','?act=somevar&num=',this);">

RO
На сайте с 13.07.2009
Offline
88
#4

это все кошерно конечно, в функцию доп параметны гнать, но все же WTF?? почему даже ослэ правильно обрабатывает а огнелис нет ? :)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#5
RedOK:
это все кошерно конечно, в функцию доп параметны гнать, но все же WTF?? почему даже ослэ правильно обрабатывает а огнелис нет ?

не кашерно гнать в функцию строковые параметры где они ненужны и в добавок не проверяя передаваемых значений.

косвенности рулят.

я же сказал, различная трактовка событий...

лису и делали чтобы в ней было все через ж...у, вот и тут не удержались...

DeveloperRu
На сайте с 27.02.2009
Offline
72
#6
T.R.O.N:
не кашерно гнать в функцию строковые параметры где они ненужны и в добавок не проверяя передаваемых значений.
косвенности рулят.
я же сказал, различная трактовка событий...
лису и делали чтобы в ней было все через ж...у, вот и тут не удержались...

на лису не стоит катить бочки.. в сравнении с остальными броузерами - она идеальна, лучшая по соответствию стандартам и широте возможностей для веб-программиста

Ответы на вопросы (http://telenok.com)
[Удален]
#7

DeveloperRu, +1

bearman добавил 25.06.2010 в 10:33

RedOK, вы уверены что в лисе this - этот объект?если да, то попробуйте старющий хак ..

onblur="var t = this; setTimeout(function () {makeRequest(..+t.value);}, 10);"

чтобы "событие произошло" и данные поменялись, а там уже через таймаут вызываем функцию, ведь 10 милисекунд на не критичны ага)

T.R.O.N
На сайте с 18.05.2004
Offline
314
#8

DeveloperRu, просто как вопрос, а Вы можете перечислить средства разработки в опере или сафари... Чтобы говорить о лучшем, стоит посмотреть все. До недавнего времени Opera Dragonfliy был самым удобным инструментом, теперь перешел на Safari... Они все-таки серьезно растут.

PS Просто посмотрите на то, чем эти инструменты отличаются... Для широты ощущений. Хотя, возможно, для выросших из линукса, именно такой интерфейс как у лисы и более привычен

[Удален]
#9

T.R.O.N, а про firebug вы слышали? он в разы поудобнее всяких летающих драконов будет. а в сафари как всегда - красота, да дела 0. для веб разработчика выгодна скорость работы инстумента а не градиентные полоски ничего не показывающие по большому счету :D

T.R.O.N
На сайте с 18.05.2004
Offline
314
#10
bearman:
T.R.O.N, а про firebug вы слышали? он в разы поудобнее всяких летающих драконов будет.

чистое дело вкуса и привычки... никаких критичных различий просто нет, а интерфейс у бабочки приятней... ну коробит меня от кривых кнопок лисы.

В любом случае - самый быстрый путь к цели - это знакомый путь.

PS Ну вам ли не уметь отличать красоту от функционала. Функционал там суперский, хотя, конечно, под виндой притормаживает...(о сафари)

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий