2 простых вопроса
1.
Здравствуйте! Есть функция которая выполняется при OnFocus на элемент форму. Допустим: function somefunc (){ //Some actions... // // setTimeout ('somefunc()' ,1000); } Эта функция выполняет действия опять и опть каждую секунду пока не перестанет работать скрипт. Вопрос: как сделать так, чтобы она работала только до того момента когда произойдет событие onBlur c этой формой. Предполагается что известен id элемента формы. Заранее спасибо. 2. У меня есть функция которая посылает запрос в скрипту на сервер. $.getJSON("admin/js/handler.php", {params1: value, params2: type }, function(obj) { //Some actions ); Если я запускаю эту же функцию из другого файла в другой категории мне нужно другой путь к обработчику писать: js/handler.php (например из папки admin запускаю) Вопрос: как универсализовать ссылку? (в пхп это легко сделать а в js не знаю как) |
1.
var tId; // Вешается на onFocus function somefunc (){ //Some actions... tId = setInterval (somefunc ,1000); } // Вешается на onBlur function blur() { clearInterval(tId); } 2. $.getJSON("/admin/js/handler.php"... |
qsajeal,
1. Вам удобнее воспользоваться setInterval/clearInterval для этой задачи. Нужно сделать примерно следующее: <html> <head> <script type="text/javascript"> // Интервал выполнения функции (не нужно редактировать): var funcInterval = null; function func() { // Тут любой код, но он не должен сбивать фокус с textarea! } function startFunc() { funcInterval = setInterval(func, 1000); } function stopFunc() { clearInterval(funcInterval); } </script> </head> <body> <form action=""> <textarea onfocus="startFunc()" onblur="stopFunc()"></textarea> </form> </body> </html> 2. А абсолютный путь вам не подходит? Адрес текущего сайта хранится в window.location.host, добавляйте его в начало строки а дальше - абсолютный путь. -- добавлено -- Kolyaj, Ха, пока писал уже ответили :) |
1- понял. спасибо
2. Как писать мне? Так что ли: $.getJSON(window.location.host+"admin/js/handler.php", { |
Как и написал Kolyaj, для абсолютного адреса начиная с домена вам нужно только поставить slash в начале пути. Т.е. $.getJSON("/admin/js/handler.php", ...)
|
Часовой пояс GMT +3, время: 22:33. |