Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2016, 15:58   #1
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию Проверка переменной PHP на пустоту js-ом

Доброго времени суток.
Можно ли как ни будь проверить, есть ли значение в PHP переменной джаваскриптом?
Есть вывод ошибки на сайте при удалении:
PHP код:
 <div style="text-align: center">
    <?php if (isset($errors)): ?>
        <div class="alert alert-danger" role="alert">
            <?php echo $errors;?>
        </div>
    <?php endif;?>
 </div>
Записываю туда, если только запись не удалилась
PHP код:
$errors "Удаление данных не произошло.<br>Повторите операцию ещё раз или обратитесь в группу АПР"
Так же на кнопку удалить у меня привязан скрипт
Код:
<script type="text/javascript">
    function refr()
    {
        return window.close();
    }
    
    $('._str').click(function()
    {
        setInterval('refr()', 20);        
    });   
    
    $(window).on('beforeunload', function()
    {
        return window.opener.location.reload();
    }
                );
</script>
Чисто для удобства, ибо зачем ему пустая страница?
Если удаление не прошло, то стараница тупо закроется без показа эрора.
Можно как ни будь проверить в скрипте $errors и от этого уже выбирать setInterval либо выполнится, либо пропустится.
Artsiom вне форума Ответить с цитированием
Старый 21.10.2016, 16:07   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

JS и РНР выполняются в разное время и на разных машинах.

Можно только проверить наличие этого div.

А зачем вообще открывать новые окна? Неужели вам это кажется удобным?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.10.2016, 16:33   #3
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Хм и правда... проверить наличие div. Буду смотреть.

Ну, да, удобней.
Рис.1 - страница статусов.
2ЛКМ по строке открывается окно рис.2.
На странице ЛКМ Добавить - окно рис.3.
Разве не удобно?

З.Ы. Я хз как эти рисунки сделать более миниатюрными.
1.png
2.png
3.png
Artsiom вне форума Ответить с цитированием
Старый 24.10.2016, 12:13   #4
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Можно только проверить наличие этого div.
Хелп.
Код:
$('._str').click(function()
    {
        if ($("#errordiv"))
        {
            alert("есть");
        }
        else 
        { 
            alert("нет")
        ;}
        //setInterval('refr()', 20);        
    });
Проверка на существование дива.
PHP код:
 <div style="text-align: center">
    <?php if (isset($errors)): ?>
        <div id="errordiv" class="alert alert-danger" role="alert">
            <?php echo $errors;?>
        </div>
    <?php endif;?>
 </div>
Сам див.

В html коде его нет вообще, но скрипт раз за разом по клику на кнопку мне пишет что он есть.
Как такое может быть?
F12 - инспектор: такого дива нет вообще на странице.
Artsiom вне форума Ответить с цитированием
Старый 24.10.2016, 12:31   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

потому что проверяйте длину результата, а не его наличие.
jQuery всегда вернет набор, но он может быть пуст.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.10.2016, 12:40   #6
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
Разве не удобно?
нет, чтобы удалить надо окно открыть... что тут может быть удобного? вы еще туда окно с подтверждением удаления добавьие, и подтверждение для подтверждения, тогда совссем будет высший пилотаж.
come-on вне форума Ответить с цитированием
Старый 24.10.2016, 13:15   #7
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Угу.
Тут не предполагается удаление больше чем раз в месяц.
Посему и нужды в ней на главной форме нет.

Некоторые таблицы вообще редактировать не нужно, но добавил, ибо сказали - а вдруг?
Artsiom вне форума Ответить с цитированием
Старый 24.10.2016, 13:18   #8
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

а если раз в пол года, то удаление надо спрятать под 3 диалогами
логично, чо
come-on вне форума Ответить с цитированием
Старый 24.10.2016, 13:26   #9
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Да, именно логично.
А на счет 3-х диалогов.., это вы точное число приводите? Если да, то свертесь с первоисточником.
Artsiom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка поля на пустоту denis.ta-com Microsoft Office Access 8 03.01.2016 20:44
Проверка TWebBrowser на пустоту Shouldercannon Общие вопросы Delphi 10 26.07.2015 23:18
Проверка строки на пустоту Стремящийся JavaScript, Ajax 2 12.05.2012 12:10
Проверка RichViewEdit на пустоту Shouldercannon Общие вопросы Delphi 2 22.05.2010 02:58
проверка файла на пустоту vitaliy1911 Общие вопросы Delphi 7 19.05.2010 22:16