Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.01.2013, 18:02
Новичок на форуме
Отправить личное сообщение для linykc Посмотреть профиль Найти все сообщения от linykc
 
Регистрация: 10.01.2013
Сообщений: 7

запустить функцию срабатывающую после загрузки станицы
Всем доброго!

в яваскрипт я новичек, так что нужна подсказка великих и могучих гуру

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

то что получилось на данный момент

jQuery(document).ready(function(){
 
      var d = location.href.split("#")[0].split("?");  
	var base = d[0];
    if(window.location.href!=base){
    window.location.href = base;}
});


эта часть работает без проблем.

но никак не соображу как это все завернуть в другую функцию

назовем ее my_func

при вызове my_func например так
Код:
на старнице 
http://my_site.ru/some_page
есть ссылка 
<a href="someURL" onclick="my_func">жмак</a>
должно происходить сделующее:

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

2) если мы просто перезагружаем страницу или добавляем значения в URL например какой либо формой
Код:
http://my_site.ru/some_page?someoption=somedata... итд
- скрипт выполнятся не должен

тоесть в моем (очевидно неверном) понимании это должно выглядеть както так
jQuery(function(my_func){ 
jQuery(document).ready(function(){
 
      var d = location.href.split("#")[0].split("?");  
	var base = d[0];
    if(window.location.href!=base){
    window.location.href = base;}
});
});


подскажите пожалуйста где я ошибся

в текущем состоянии функция срабатывает всегда если window.location.href!=base
а на ссылку с функцией не кликаеш
=(
Ответить с цитированием
  #2 (permalink)  
Старый 10.01.2013, 18:30
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript">
 $(document).ready(function(){
  $("a").click(function () {
    var HREF=$(this).attr('href')
     //Тут Анализ href кликанутой ссылки
     //Если что-то не так: return false;
  });
});
</script>

Последний раз редактировалось Deff, 10.01.2013 в 18:51.
Ответить с цитированием
  #3 (permalink)  
Старый 10.01.2013, 19:57
Новичок на форуме
Отправить личное сообщение для linykc Посмотреть профиль Найти все сообщения от linykc
 
Регистрация: 10.01.2013
Сообщений: 7

прежде всего большое спасибо за ответ.

но такой вариант мне не совсем подходит, в постановке вопроса я немного упростил задачу, и видимо зря. прошу прощения.
сейчас объясню почему:

my_func мне нужно вызвать не кликом по ссылке, а в другом скрипте написанном на обычном javascript хотя нет, вродебы весь скрипт на jquery .
вот код функции этого скрипта (переделка вида чекбоксов, автора к сожалению не помню):

function changeCheck(el)

{

	var el = el,
		input = el.find("input").eq(0);
	
    
      
	if(el.attr("class").indexOf("niceCheckDisabled")==-1)
	{	
   		if(!input.attr("checked")) {
			el.addClass("niceChecked");
			input.attr("checked", true);
            document.form_filters.submit();
            my_func; //здесь надо вызвать my_func 
            
            
		} else {
			el.removeClass("niceChecked");
			input.attr("checked", false).focus();
           document.form_filters.submit();
           my_func; //здесь надо вызвать my_func 
		}
	}
	
    return true;
}


в кратце делает оно примерно следующее:
заменяет css класс чекбоксов для придания им разного дизайна
+ сабмит формы фильтра этой строчкой
document.form_filters.submit();


засчет чего работает фильтр на сайте

а вот уже после сабмита и загрузки страницы мне надо проверить урл страницы и если он не соответствует заданным параметрам осуществить переход

на jquery пытаюсь это сделать так как обычный жаваскриптовкий онлоад не подходит

Последний раз редактировалось linykc, 10.01.2013 в 20:02.
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2013, 20:11
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от linykc
а вот уже после сабмита
Перехватываете сабмит, анализируете ссылку перехода ?
Ответить с цитированием
  #5 (permalink)  
Старый 10.01.2013, 20:16
Новичок на форуме
Отправить личное сообщение для linykc Посмотреть профиль Найти все сообщения от linykc
 
Регистрация: 10.01.2013
Сообщений: 7

чесно говоря нет, и как это сделать не знаю(

подскажете?
firebug есть
или где это отловить можно?
Ответить с цитированием
  #6 (permalink)  
Старый 10.01.2013, 20:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от linykc
чесно говоря нет, и как это сделать не знаю
<script type="text/javascript">
$(document).ready(function(){
$("cелектор формы").submit(function () {
var Action=$(this).attr('action')
//Тут Анализ action кликанутого submit
//Если что-то не так: return false;
});
});
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 10.01.2013, 21:29
Новичок на форуме
Отправить личное сообщение для linykc Посмотреть профиль Найти все сообщения от linykc
 
Регистрация: 10.01.2013
Сообщений: 7


не знаю что должно было произойти но этого не произошло

давайте вернемся к первоначальной концепции...

jQuery(function(my_func){ 
jQuery(document).ready(function(){
 
      var d = location.href.split("#")[0].split("?");  
	var base = d[0];
    if(window.location.href!=base){
    window.location.href = base;}
});
});


реализуемо ли вообще что то такое на jquery?

ведь

document.form_filters.submit();


это тоже функция на jquery

и она срабатывает

значит по идее и другую функцию я так же могу запустить
Ответить с цитированием
  #8 (permalink)  
Старый 10.01.2013, 22:14
Новичок на форуме
Отправить личное сообщение для linykc Посмотреть профиль Найти все сообщения от linykc
 
Регистрация: 10.01.2013
Сообщений: 7

Сообщение от Deff Посмотреть сообщение
<script type="text/javascript">
$(document).ready(function(){
$("cелектор формы").submit(function () {
var Action=$(this).attr('action')
//Тут Анализ action кликанутого submit
//Если что-то не так: return false;
});
});
</script>
кажется дошло, хотя не работает...


сделал вот так

document.form_filters.submit(function() {
                 var d = location.href.split("#")[0].split("?");  
                var base = d[0];
              if (window.location.href!=base) {
                window.location.href = base;
                return true;
              }
 });


Вы это имели ввиду?
сабмит работает , но перехода нет
Ответить с цитированием
  #9 (permalink)  
Старый 10.01.2013, 22:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

linykc,
Выложите первый тег формы
Ответить с цитированием
  #10 (permalink)  
Старый 10.01.2013, 22:26
Новичок на форуме
Отправить личное сообщение для linykc Посмотреть профиль Найти все сообщения от linykc
 
Регистрация: 10.01.2013
Сообщений: 7

<form action="<?php print $_SERVER['REQUEST_URI'];?>" method="post" id="form_filters" name="form_filters">

вот
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повернуть изображение после его загрузки (jquery) art_maestro jQuery 0 13.09.2012 21:50
Проблема с ожиданием загрузки станицы у консольного скрипта. Timon Общие вопросы Javascript 17 13.07.2012 18:33
как запустить функцию после другой функции Rentony jQuery 7 07.02.2012 18:01
Как имитировать клик по элементу созданого после загрузки страницы? anoth3r jQuery 3 29.09.2011 12:22
Как сделать паузу после загрузки страницы? denisOgr AJAX и COMET 2 06.08.2011 15:01