2015-05-26 46 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; 
     } 
相关问题