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, время: 15:54. |