Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> остановить скрипт 
:(
    Опции темы
evya
Дата 10.9.2010, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 7.3.2009

Репутация: нет
Всего: нет




1) скрипт проверки формы
Код

function checkin () {
var bazaselect = document.getElementById('bazaselect').options.selectedIndex;    
var emailselect = document.getElementById('emailselect').options.selectedIndex;    
if (bazaselect == '0') {alert('Âûáèðèòå áàçó äàííûõ'); document.getElementById('bazaselect').focus(); return; }
if (emailselect == '0') {alert('Âûáèðèòå îòïðàâèòåëÿ'); document.getElementById('emailselect').focus();return; }

                    }    



2) скрипт отправки
Код

function sendone (who){
checkin();
........
}



как остановить второй скрипт если сработал флаг пустой формы в первом return; помогает только  если запускаю первый.


PM MAIL   Вверх
bars80080
Дата 10.9.2010, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



так вы в первом скрипте не просто return напишите, а return false, если не корректное значение

а в конце, если всё правильно, то return true;

тогда второй скрипт получит результат:

Код

function sendone (who){
    var res = checkin();
    if(!res) { return false; }
    ........
}

PM MAIL WWW   Вверх
evya
Дата 10.9.2010, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Барс ты настоящий друг!

Добавлено через 3 минуты и 14 секунд
Барс
все сделал как ты написал

вылетает пустая страница с  false



PM MAIL   Вверх
bars80080
Дата 10.9.2010, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



это хорошо или плохо?
PM MAIL WWW   Вверх
evya
Дата 10.9.2010, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Барс - Это никак!


должен возвратится на фокус.

PM MAIL   Вверх
bars80080
Дата 11.9.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



значит, проблема в коде. что написал, так и работает.
ну или в погоде. по всякому бывает. у тебя там системник не заливает?

мы конечно можем ещё строить предположения, либо ты покажешь полный код и опишешь, как же он должен работать, потому что "остановить второй скрипт если сработал флаг пустой формы" - это не задача. задача может быть такой: проверить поля на пустоту и не отправлять форму, если они все не заполнены. но это тоже предположение, а писать код, заведомо не зная, нужен ли он кому-то - это прежде всего неуважение к себе
PM MAIL WWW   Вверх
evya
Дата 11.9.2010, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Код

function checkin () {
var bazaselect = document.getElementById('bazaselect').options.selectedIndex;    
var emailselect = document.getElementById('emailselect').options.selectedIndex;    
if (bazaselect == '0') {alert('Âûáèðèòå áàçó äàííûõ'); document.getElementById('bazaselect').focus(); return false; }
if (emailselect == '0') {alert('Âûáèðèòå îòïðàâèòåëÿ'); document.getElementById('emailselect').focus();return false; }
return true;
                    }



Код

function sendone (who){
var res = checkin();
if(!res) { return false; }
$.get('/cgi-bin/sender/takeall_newsend.pl', {id:who}, 

function(data){
var arr = data.split(',');
for(var i=0; i<arr.length; i++) {

$.get('/cgi-bin/work_newsend.pl', {id:who}, function(data){});
$("#emails tr:first").after('<tr><td>'+arr[i]+'</td></tr>\n');

                                
                            }
        
         
          }) //fuction data
} //function sendone




При срабатывании checkin  точнее пустой формы.
выводится на пустой странице false и все.

если ткнуть на >>>Начинаем работать<<<<.


http://stanok.in/1newsend.shtml

PM MAIL   Вверх
bars80080
Дата 11.9.2010, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



прикольно, что даже сейчас вы не показали весь код. но пройдя по ссылке, я вытащил вашу ошибку:

Код

<a href="javascript:sendone()" class="h2-a-op">НАЧИНАЕМ РАБОТАТЬ</a>
не надо так в упор делать. я бы вообще запретил использовать синтаксис javascript:, очень трудно работается, когда нет понимания что происходит, но желание использовать есть. вставили бы вместо ссылки кнопку, проблемы бы не было

в лучшем случае оно будет работать так:

Код

<a href="javascript:void(0); return false;" onclick="sendone('someparametr')" class="h2-a-op">НАЧИНАЕМ РАБОТАТЬ</a>


не забудьте вставить на место someparametr то что вам нужно. функция ждёт этот аргумент
PM MAIL WWW   Вверх
evya
Дата 11.9.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Барс thnx

Подскажи пожл.

Код

function(data){
var arr = data.split(',');
for(var i=0; i<arr.length; i++) {
$.get('/cgi-bin/work_newsend.pl', {id:who}, function(data){});





как мне таймаут сюда в цикл вставить.


PS
javascript:void(0); return false; Это обязательно все писать или обойтись Onclick
 



PM MAIL   Вверх
bars80080
Дата 11.9.2010, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(evya @  11.9.2010,  21:49 Найти цитируемый пост)
javascript:void(0); return false; Это обязательно все писать или обойтись Onclick
 

обязательно. либо использовать кнопку <input type="button" onclick="..." />, что гораздо вернее



Цитата(evya @  11.9.2010,  21:49 Найти цитируемый пост)

как мне таймаут сюда в цикл вставить.

а зачем вставлять в цикл таймаут? каждая итерация цикла выполняется немедленно после предыдущей, при этом вся программа стоит и ждёт, пока весь цикл не отмахает
может, имелось ввиду, как периодически запрашивать сервер? тогда никакого цикла не нужно

Код

function(data){
    var arr = data.split(',');
    var tm = setInterval(function(){ qw(who, data) }, 10000);
   
}
function qw(who, data) {
    $.get('/cgi-bin/work_newsend.pl', {id:who}, function(data){});
}


правда, у меня вызывает осмысленность кода вообще. такое ощущение, что ты склеиваешь массив в строку, а потом по одному сиволу отправляешь эту строку на сервер

PM MAIL WWW   Вверх
evya
Дата 11.9.2010, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 7.3.2009

Репутация: нет
Всего: нет



Да там в тестовом режиме масив делится и отсылается его часть на сервер.

мне нужно что бы  отсылка части производилась через 2-секунды.

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


PM MAIL   Вверх
bars80080
Дата 11.9.2010, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



Цитата(evya @  11.9.2010,  22:27 Найти цитируемый пост)
т.е. необходимо поставить задержку в цикл.

нет, снова повторяю: каждая итерация цикла выполняется немедленно после предыдущей, при этом вся программа стоит и ждёт, пока весь цикл не отмахает

для таких целей используется таймер. его пользование продемонстрировано в примере



только всё равно, это бессмысленно. если вы уже получили данные в скрипт, то зачем отправлять по частям? какой в этом смысл?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0826 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.