使用div重定向到PHP脚本

时间:2012-09-10 19:37:58

标签: php javascript html ajax

我有这个div我用作一种按钮,大部分时间,我只是用它来重定向到另一个页面,但这一次,我希望它在重定向到下一页之前运行一些php

<div class="build_detail_option_ele_wrap" onclick="location.href="builders_checkout.php";"></div>

我可以将它重定向到builders_checkout.php,这会创建一些会话等......然后从那里重定向到结束页面。

(我知道通过使用提交按钮可以更容易地做到这一点,但情况意味着我不能在这里使用。)

这是一个好主意,还是有消极的做法?

由于

6 个答案:

答案 0 :(得分:2)

它没有“错误”,但如果您使用<a href="...">标记,则可以获得更好的结果(可选地,设置style="display:block"使其行为类似于<div>)。

如果您坚持使用<div>,请在builders_checkout.php字符串周围使用单引号。

答案 1 :(得分:2)

在您的网址上传递一个查询字符串,其中包含您应该在该脚本之后重定向的网页。我使用了下一步

 ... builders_checkout.php?next=lol_page.php ...

builders_checkout.php中,在脚本的末尾使用类似的内容:

// if next is set, we will redirect it to next value (lol_page.php);
if(isset($_GET['next'])){
     header('Location: ' . $_GET['next']);
}

如果您有任何疑问或问题需要了解,请问。

答案 2 :(得分:2)

因为没有人真正给出(明显的)解决方案:

<a class="build_detail_option_ele_wrap" href="builders_checkout.php"></a>

将此添加到您的CSS中,它不会明显不同:

a.build_detail_option_ele_wrap {
    text-decoration: none;
    color: inherit;
    display: block;
}

答案 3 :(得分:1)

好吧,使用jQuery(甚至普通JS)而不是onclick=""来实现它。当然,使用<a href="">代替div

到目前为止,没有问题。只需确保让用户知道它正在使用加载栏进行处理。

答案 4 :(得分:1)

您是否建议应该正常工作,但是您需要将onclick declration中的双引号更改为单引号,如下所示:

<div class="build_detail_option_ele_wrap" onclick="location.href='builders_checkout.php';"></div>

如果你想获得更高级的功能,你可以看看使用AJAX方法将你需要的数据发送到PHP脚本,然后只有你成功完成脚本需要做的事情(或者甚至有那个脚本)时重定向返回一个字符串,指示浏览器应该重定向到的位置。)

答案 5 :(得分:1)

如果我认为你是对的,你可能会考虑使用AJAX。

jQuery使这很简单:

$(".build_detail_option_ele_wrap").on('click', function () {
    // Do your $_SESSION (or other) stuff
    $.get('builders_checkout.php', function () {
        // after the $.get has completed:
        window.location.href = 'lol_page.php';
    })
});

你的DIV:

 <div class="build_detail_option_ele_wrap"></div>

这样,您可以异步运行“builders_checkout.php”,然后加载“lol_page.php”URL,而不必重定向两次。