如何在使用javascript时重定向到另一个页面

时间:2016-04-05 15:30:25

标签: javascript php codeigniter

我有一张表格在他们的表格中有一个取消按钮。当单击该按钮时,将出现一个确认框,询问用户是否需要离开页面,然后我需要重定向页面。我正在使用codeigniter而我这样做但是它重定向到同一页面。我不知道为什么?有谁可以帮助我?

查看(busineeRateView.php)

 <?php $Vehicleid=$details['id']; ?>
<input type="submit" name="cancelreview" class="btn btn-primary btn-lg" value="CANCEL" onClick="return cancelConfirm();">

<script>
    function cancelConfirm() {
         job = confirm("Are you sure you want to cancel and leave this page?");
         if (job == true) {
            window.location.href = "http://localhost/ci/adpreview_ctrl/getad_preview/".$Vehicleid; 
            return true;
         }
    }
</script>

控制器

public function loadReviewPage($vehicleid){


$data=array();
$data['details']['id']=$vehicleid;

$this->load->view('pages/templates/header');
    $this->load->view('pages/businessRateView',$data);
    $this->load->view('pages/templates/footer');

}

3 个答案:

答案 0 :(得分:4)

由于您从事件处理程序中return true,因此提交按钮会提交表单。

由于在location分配之后,它会覆盖它。

提交表单将重新加载当前页面(假设表单没有action属性,并且提交的数据不会导致服务器返回不同的页面。)

请勿使用提交按钮。您的JavaScript只是模拟链接,所以请使用真实的链接。

<a class="btn btn-primary btn-lg" 
   href="http://localhost/ci/adpreview_ctrl/getad_preview/$Vehicleid"
   onclick="return cancelConfirm();">
    Cancel
</a>

function cancelConfirm(){
    return confirm("Are you sure you want to cancel and leave this page?");
}

注意:您似乎在示例中留下了一些PHP。确保您在有效的HTML / JS中表达您的URL。

答案 1 :(得分:1)

这条线令人困惑:

window.location.href = "http://localhost/ci/adpreview_ctrl/getad_preview/".$Vehicleid;

似乎你混合了javascript和php。在JS中连接字符串是用+完成的,而不是。这是php语法。和$ Vehicleid这样的PHP变量不能直接在JS中访问。尝试使用php块。像:

window.location.href = "http://localhost/ci/adpreview_ctrl/getad_preview/" + "<?= $Vehicleid; ?>";

答案 2 :(得分:0)

我想也许你使用了错误的操作。你应该使用'+'而不是'。'在javascript字符串操作中。 ''用于php:)

window.location.href = "http://localhost/ci/adpreview_ctrl/getad_preview/" + $Vehicleid;