javascript
  • php
  • jquery
  • html
  • 2015-05-26 3 views -2 likes 
    -2

    Моя проблема прост, но мне требуется некоторое время для решения.Редирект не работает с JavaScript или PHP

    Проблема в том, у меня есть HTML-форму с 2-мя кнопками, смотрите код ниже:

    $html1 = "<div class='pai-forms'> 
          <form method='post'> 
           <fieldset> 
            <legend>Dados do Salão:</legend> 
            <div>"; 
    
    $html2 =   "</div> 
            <div class='dividersolid'></div> 
            <button name='action' class='btn btn-skin btn-primary btn-cadastro' type='submit' value='atualizar' onclick='confirmationUpdate()'>Atualizar</button> 
            <button name='action' class='btn btn-skin btn-primary btn-cadastro' type='submit' value='deletar' onclick='confirmationDelete()'>Deletar</button> 
           </fieldset> 
          </form> 
         </div>"; 
    

    Обратите внимание, что мои кнопки выполнять функцию Jquery когда щелчок. Вот мои функции JQuery:

    function confirmationDelete() { 
        var answer = confirm("Você tem certeza que deseja deletar este salão?"); 
        if (answer) { 
         <?php wsDeleteSalon($id, $token); header("location:list_salons.php");?> 
         window.location = "list_salons.php"; 
         window.location.replace("list_salons.php"); 
         window.location.href = "list_salons.php"; 
         alert("Salão deletado com sucesso."); 
        } 
        else { 
         alert("Salão não deletado."); 
        } 
    } 
    function confirmationUpdate() { 
        var answer = confirm("Você tem certeza que deseja atualizar este salão?"); 
        if (answer) { 
         <?php wsUpdateSalon($id, $name, $email, $cep, $numero, $complemento, $rua, $logo, $lat, $lng, $token); header("location:list_salons.php");?> 
         window.location = "list_salons.php"; 
         window.location.replace("list_salons.php"); 
         window.location.href = "list_salons.php"; 
         alert("Salão atualizado com sucesso."); 
        } 
        else { 
         alert("Salão não atualizado."); 
        } 
    } 
    

    Все работает замечательно, но когда я пытаюсь перенаправить страницу с PHP или JavaScript, это не перенаправление на любой странице.

    Что мне не хватает? У кого-нибудь есть подсказка? Спасибо заранее.

    +0

    Существует много и много проблем с этим кодом, главным образом из-за отсутствия кавычек и того, что похоже на PHP _inside_ jQuery. Измените вопрос с помощью более совершенного кода. – TricksfortheWeb

    +0

    Вы сами проверили ошибки? Например, отчет об ошибках php и/или консоль браузера? – PeeHaa

    +0

    @ yak613 Почему я не могу использовать PHP внутри jQuery? и кавычки - единственный способ, с которым я нашел работу. Какие-либо предложения? –

    ответ

    1

    Вы не можете смешивать PHP и JavaScript как это. JavaScript работает в браузере, PHP работает на сервере. Я думаю, что происходит, что ваш JavaScript ломается, когда он попадает в тег PHP, поэтому не выполняет перенаправление.

    Решение заключается в удалении PHP и изменении перенаправления на PHP-скрипт, который выполняет вашу процедуру удаления, а затем выполняет вашу функцию списка.

    1

    Как я еще не могу прокомментировать.

    Попробуйте использовать window.location вместо window.location.href

    EDIT: Попробуйте вместо всех типов перенаправления проверки на наличие ошибок.

    if (answer) { 
        alert("Error check [1]"); 
        window.location = "list_salons.php"; 
        alert("Error check [2]"); 
        alert("Salão deletado com sucesso."); 
    } else { 
        alert("Salão não deletado."); 
    } 
    

    И где ваш код PHP?

    +0

    взгляните на мой код, я уже пытаюсь использовать window.location –

    +0

    Я видел его, но использую функцию 'alert()', чтобы увидеть, где ваш код перестает выполняться. – alexandreferris

    0

    Вот мой аналогичный синтаксис для этой операции, которая работает хорошо. У меня просто есть папка, а мой php немного дальше, но то же самое.

     <?php 
         session_start(): 
         if(empty($_session['user'])) 
         { 
         header('Location: login/login.php'); 
         exit; 
         } 
    
    Смежные вопросы