繁体   English   中英

如何使用PHP和Javascript将数据从一页传递到另一页?

[英]How can I pass data from one page to another using PHP and Javascript?

我有3个按钮(图片链接,最终会演变为javascript或其他更好的东西)

这些按钮中的每个按钮都应向处理程序脚本发送一个值,如果按下按钮1,则该脚本将执行选择1,选择2,依此类推。

我想知道什么是最好的方法。 我不想使用GET。 如果可以的话,我想使用POST,但我认为不行。 我也考虑过cookie,但是问题是,即使您可以通过链接调用JS函数来创建cookie,也无法进入PHP页面进行处理,可以单击同一键吗?

就像用户单击img按钮,然后将它们带到处理程序脚本中一样,但是处理程序会在他们甚至不知道之前将它们重定向回去。

同样,这不是表格,我需要使用超链接来完成。 我想每个选择都可以有一个不同的页面,但是我认为这样做并不高效。

谢谢!

如果希望使用POST传递变量,则可以在页面上创建一个表单,并让链接在onClick执行一些javascript代码。 他们将变量设置为所需的值,然后提交表单。 关键行是这样的:

document.getElementById("user_choice").value = 2;   // or whatever the value for this link is
document.getElementById("my_form").submit();

您可以将图片链接变成:

<form method="post" action="blah">
    <input type="hidden" name="function" value="function1" />
    <input type="image" scr="whatever" />
</form>

这样,它们仍然看起来像图像,但是实际上是张贴表格,其中包含您想要的任何内容。 无论如何,这是简单的方法。 较难的方法是使用AJAX。

如果您想使用JavaScript,请看一下jQuery 使用jQuery的click-method ,您可以轻松处理对元素的点击:

假设您有以下HTML:

<div id="target">
  Click here
</div>
<div id="other">
  Trigger the handler
</div>

使用jQuery,您可以轻松跟踪标有target的元素上的点击:

$("#target").click(function() {
  alert("Handler for .click() called.");
});

如果您不想直接进行POST或GET点击,我建议注册jQuery点击处理程序,该处理程序根据clicked元素设置JavaScript变量。

请注意,jQuery的单击处理程序可以与任何元素一起注册,不仅限于表单。 另外请注意,例如,上述单击处理程序不会将页面发布或获取到服务器。

另外,在这里看看如何防止浏览器提交表单: 向单击事件侦听器添加“返回假”有什么作用?

比JavaScript更好的是CoffeScript ,它可以编译为JavaScript,但使工作变得容易得多。 试试看!

AJAX呢? 这是解决您问题的最佳选择,而奖励部分是您也可以使用帖子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM