2015-05-26 50 views
-2

我的問題很簡單,但需要一些時間來解決。重定向不適用於JavaScript或PHP

的問題是:我有2個按鈕HTML表單,請參見下面的代碼:

$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裏面的jQuery。用更精緻的代碼編輯問題。 – TricksfortheWeb

+0

你自己檢查錯誤嗎?例如php錯誤報告和/或瀏覽器控制檯? – PeeHaa

+0

@ yak613爲什麼我不能在jQuery中使用PHP?引用是我發現與它合作的唯一方式。有什麼建議麼? –

回答

1

你不能像這樣混合使用PHP和JavaScript。 JavaScript在瀏覽器上運行,PHP在服務器上運行。我認爲正在發生的事情是,當您的JavaScript遇到PHP標記時,它正在崩潰,因此不執行您的重定向。

解決方案是刪除PHP並將重定向更改爲執行您的刪除例程的PHP腳本,然後執行您的列表功能。

1

由於我還不能評論。

使用window.location代替window.location.href

編輯嘗試:試試這個,而不是所有類型的重定向檢查錯誤。

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; 
     } 
相關問題