Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2017, 15:42
Интересующийся
Отправить личное сообщение для Даниль1983 Посмотреть профиль Найти все сообщения от Даниль1983
 
Регистрация: 17.09.2017
Сообщений: 8

Повторная многоразовая перезагрузка страницы
Пожалуйста, ответьте, как можно исправить данный баг:

Я делаю программное отправление данных формы с помощью submit при загрузки страницы, до того как пользователь начал работу со страницей, такой код:
<body onLoad="setTimeout('document.form.submit.click()', 1000)" >
Но действие повторяется повторно много раз. Как сделать, чтобы выполнялся и страница работала дальше в своём режиме?
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2017, 15:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от Даниль1983
Как сделать, чтобы выполнялся и страница работала дальше в своём режиме?
Не перезагружать страницу...

Но это больше претензии к самому обработчику клика на элементе формы...
Сообщение от Даниль1983
Я делаю программное отправление данных формы с помощью submit при загрузки страницы
Ты просто имитируешь клик на элементе формы и не более того... Дальше все делается в обработчике клика, который мы пока не видели. Все дело именно в нем.
Ответить с цитированием
  #3 (permalink)  
Старый 30.09.2017, 10:11
Интересующийся
Отправить личное сообщение для Даниль1983 Посмотреть профиль Найти все сообщения от Даниль1983
 
Регистрация: 17.09.2017
Сообщений: 8

А у меня его и нет. Есть один но он не для него. Напишите пожалуйста, какой должен быть для него.

Другой, для других целей, вот такой:
function mouseClick(){
    var pageX = 'pageX' in event ? event.pageX : event.clientX + document.documentElement.scrollLeft;
    var pageY = 'pageY' in event ? event.pageY : event.clientY + document.documentElement.scrollTop;
    if (document.getElementById('mouseX').value==''){
    document.getElementById('mouseX').value = pageX*1000/document.body.clientWidth;
    document.getElementById('mouseY').value = pageY*1000/document.body.clientHeight;}
    document.getElementById('hiddenX').value = document.body.clientWidth+1;
    document.getElementById('hiddenY').value = document.body.clientHeight+1;

}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 30.09.2017, 10:22
Интересующийся
Отправить личное сообщение для Даниль1983 Посмотреть профиль Найти все сообщения от Даниль1983
 
Регистрация: 17.09.2017
Сообщений: 8

Думал стандартного обработчика достаточно, а действительно его не достаточно мне.

Мне нужно до загрузки выполнить вот эти два присваивания:
document.getElementById('hiddenX').value = document.body.clientWidth+1;
document.getElementById('hiddenY').value = document.body.clientHeight+1;
Ответить с цитированием
  #5 (permalink)  
Старый 30.09.2017, 12:41
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
<input id="hiddenX">
<input id="hiddenY">
<script>
document.getElementById('hiddenX').value = document.body.clientWidth+1;
document.getElementById('hiddenY').value = document.body.clientHeight+1;
</script>
<!-- остальной код разметки -->
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 30.09.2017, 15:13
Интересующийся
Отправить личное сообщение для Даниль1983 Посмотреть профиль Найти все сообщения от Даниль1983
 
Регистрация: 17.09.2017
Сообщений: 8

Так не работает. Первое что я попробовал это так и сделать. Дело в том что, как видно, я использую скрытые поля. Они должны передаться на сервер, ещё до начала работы клиента. Вот что я делаю:

<html  onclick="mouseClick();">

...
<script>
function mouseClick(){
    var pageX = 'pageX' in event ? event.pageX : event.clientX + document.documentElement.scrollLeft;
    var pageY = 'pageY' in event ? event.pageY : event.clientY + document.documentElement.scrollTop;
    if (document.getElementById('mouseX').value==''){
    document.getElementById('mouseX').value = pageX*1000/document.body.clientWidth;
    document.getElementById('mouseY').value = pageY*1000/document.body.clientHeight;}
    document.getElementById('hiddenX').value = document.body.clientWidth+1;
    document.getElementById('hiddenY').value = document.body.clientHeight+1;
}   
</script>


Я передаю данные после клика на странице пользователем, а надо чтобы данные полей отправлялись на сервер до того как пользователь увидел окно страницы, или по таймауту 1000 мс. Однако все решения имеют неприемлемый недостаток в виде постоянной перезагрузки страницы, не один ответ и не одна моя попытка ещё не сумела остановить перезагрузки после первой таковой.
Ответить с цитированием
  #7 (permalink)  
Старый 30.09.2017, 15:18
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

мне интересно, для чего все эти манипуляции?
Ответить с цитированием
  #8 (permalink)  
Старый 30.09.2017, 15:34
Интересующийся
Отправить личное сообщение для Даниль1983 Посмотреть профиль Найти все сообщения от Даниль1983
 
Регистрация: 17.09.2017
Сообщений: 8

Средствами PHP нельзя узнать разрешение монитора пользователя.

Или покажите как эту задачу решить ajax-ом. w.tetradka33.ru

Сообщение от j0hnik
мне интересно, для чего все эти манипуляции?
Чтобы вычислять координаты на экране корректно, при любых разрешениях экрана. Масштабирование, наверно, можно назвать.

Последний раз редактировалось ksa, 02.10.2017 в 09:07.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка страницы без post данных Makkssimka Элементы интерфейса 1 29.10.2015 19:38
Перезагрузка страницы etoTT Angular.js 1 18.07.2014 13:34
Перезагрузка страницы AJAX kapustnik AJAX и COMET 2 24.04.2013 12:20
Перезагрузка jquery по событию click, без полной перезагрузки страницы Vitaliy88 Общие вопросы Javascript 4 22.11.2012 12:35
Перезагрузка страницы без потери Unknow Я не знаю javascript 5 08.06.2009 13:58