|
|
|
Supreme Being
      
участник
Last Login: 14.12.2007 18:22
Сообщ.: 131,
Visits: 824
|
|
Дано: некоторая многострочная табличная форма, в строках формы создаю тэги типа NameAnchor <a name="<%="Line"&trim(recActual)%>"></a> (name="Line1", "Line2" ... и т.д.) При запросе (обновлении) формы по адресу http://site/aaa.asp#Line10 после её открытия выполяется автоматический переход к нужной строке №10.Вопрос: возможно ли без обновления формы по событию onChange изменения какого-либо из элементов формы прокрутить страницу до нужной строки?
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| В MSIE может такой метод сработать: document.getElementsByName("Line10")[0].scrollIntoView(true) Насчет других браузеров не уверен.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Еще способ: location.hash = "Line10"
|
|
|
|
|
Supreme Being
      
участник
Last Login: 14.12.2007 18:22
Сообщ.: 131,
Visits: 824
|
|
Использовал скрипт и прицепил его к событию OnChange:
<script language="JavaScript"> <!-- start Javascript function Formsubmit(f) { f.form.submit(); //-запускает обновление location.hash = "Line10"; //-срабатывает до завершения обновления //document.getElementsByName("Line10")[0].scrollIntoView(true); //-эта команда тоже срабатывает (использую MSIE) } // end JavaScript --> </script>
однако, переход к нужной линии осуществляется сразу после начала обновления формы (виден скачек на нужную строку), после завершения обновления уже виден только верх формы!
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Разумеется. Так и должно быть. Вызов submit() уведомит бразуер что надо отправить форму, но сначала он полностью закончит выполнять твой скрипт в контексте "старой" страницы.
|
|
|
|