X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Закрыть вкладку JS
Sasha_Live
Sasha_Live
Topic Starter сообщение 19.7.2013, 22:17; Ответить: Sasha_Live
Сообщение #1


Подскажите пожлуйста, как закрыть текущую вкладку. Суть вот в чем, данные передаются в php скрипт, кторый должен закрыться. Лучшее найденное решение:
var win = window.open(document.location.href,'_self');win.close();

но не работает под ff. Бесконечно открывает заново вкладку.
Существуют решения под firefox?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 19.7.2013, 22:58; Ответить: Gerga
Сообщение #2


Sasha_Live, передавайте данные в обработчик аяксом.


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sasha_Live
Sasha_Live
Topic Starter сообщение 20.7.2013, 8:18; Ответить: Sasha_Live
Сообщение #3


Gerga, можно поподробней? Не дружу с аяксом..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Gerga
Gerga
сообщение 20.7.2013, 13:13; Ответить: Gerga
Сообщение #4


Sasha_Live, Аякс позволяет, без перезагрузки страницы, отправить данные в какой-нибудь обработчик. Допустим человек оформил заказ и нажал на кнопку "купить", после чего выскакивает окошко "Подождите", затем, если все правильно "Заказ успешно отправлен и будет обработан в кротчайшие сроки". Для такого функционала, нужен JS скрипт, вот например такой:
содержание JS файла (send.js)
Развернуть/Свернуть
$(function(){
   $("#send").click(function(){
          $('#loading').css('visibility','visible');
      var title =  $("#title_tovara").text();  
      var author = $("#author").val();      
      var email = $("#email").val();
      var adres = $("#adres").val();          
      $.ajax({
         type: "POST",
         url: "/handler.php",
         data: {"title": title, "author": author, "adres": adres, "email": email},
         cache: false,
         success: function(response){
             $('#loading').css('visibility','hidden');
             var messageResp = new Array('Заказ успешно отправлен и будет обработан в кротчайшие сроки','Сообщение не отправлено','Нельзя отправлять пустые сообщения');
             var resultStat = messageResp[Number(response)];
             if(response == 0){
                $("#author").val("");
                $("#email").val("");
        $("#adres").val("");
             }
         alert(resultStat);
             $("#status").text(resultStat).show().delay(150).fadeOut(1600);
                                                          
           }
          });        
          return false;                                                              
    });
    
});


Содержание HTML файла:
Развернуть/Свернуть

<div id="loading" style="visibility: hidden;">Подождите</div>
<form  method="post" id="zakaz_form">
    <h4  id="title_tovara">Название товара</h4>                        
    <p><input type="text" class="author" name="author" id="author" placeholder="ваше имя" size="22" tabindex="1" >
    <label for="author"><small>Имя (обязательно)</small></label></p>                            
    <p><input type="text" class="email" name="email" id="email" placeholder="ваш E-mail" size="22" tabindex="2" >
    <label for="email"><small>E-Mail (не обязательно)</small></label></p>
    <p><input type="text" class="adres" name="adres" id="adres" placeholder="ваш адрес проживания" size="22" tabindex="2" >
    <label for="adres"><small>Куда выслать товар</small></label></p>    
    <p><textarea class="mess" name="comment" id="formcomment" cols="50%" placeholder="комментарий" rows="8" class="forms1"></textarea></p>
    <input name="id_post" type="hidden" value="'.$id_post.'" >
    <p><button name="button" class="tinput" type="submit" id="send">Купить</button><br><strong id="status"> </strong></p>
</form>
<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="send.js"></script>


Содержание PHP файла (handler.php):
Развернуть/Свернуть
<?php
if (empty($_POST['js'])) {
    if ($_POST['author'] <> '' AND $_POST['adres'] <> '' AND $_POST['title'] <> '') {
        $aut = $_POST['author'];
        $adres = $_POST['adres'];
        $title = $_POST['title'];
        $date = date( "Y.m.d H:i:s" );
        /*выполняем нужную обработку*/
        if ( /*проверяем получилось ли выполнить*/ ) {
            echo 0; // Заказ успешно отправлен и будет обработан в кротчайшие сроки.
        }   else echo 1; // Ошибка! Заказ не отправлен.
    } else echo 2; // Нельзя отправлять пустые сообщения.
}
?>


-----

Сообщение отредактировал Gerga - 20.7.2013, 13:14


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sasha_Live
Sasha_Live
Topic Starter сообщение 20.7.2013, 14:34; Ответить: Sasha_Live
Сообщение #5


Gerga, мою проблему это кажется не решить. Что надо мне:
имеем открытую вкладку. После нажатия на кнопку выполняется скрипт и исходная вкладка тоже закрывается.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Почистить шаблон joomla от ссылок и закрыть дыры.
Помогите убрать левые-ссылки.
2 Zubkov 2063 14.11.2013, 18:52
автор: Zubkov
Открытая тема (нет новых ответов) Ссылка закрыть
6 Лёлик2 8354 17.11.2008, 22:32
автор: -Лёлик2-


 



RSS Текстовая версия Сейчас: 19.4.2024, 11:52
Дизайн