2

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

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

我想知道最好的方法是什么。我不想使用 GET。如果可能的话,我想使用 POST,但我不这么认为。我也想过cookie,但问题是即使你可以通过链接调用JS函数来创建cookie,你不能去PHP页面处理,在同一次点击中可以吗?

它会像用户单击按钮 img 一样工作,然后将它们带到处理程序脚本,但处理程序甚至在他们知道他们在那里之前将它们重定向回来。

同样,这不是表单,我需要使用超链接来执行此操作。我想我可以为每个选择设置一个不同的页面,但我认为这不是有效的。

谢谢!

4

4 回答 4

2

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

document.getElementById("user_choice").value = 2;   // or whatever the value for this link is
document.getElementById("my_form").submit();
于 2012-04-18T21:43:58.010 回答
1

你可以把你的图片链接变成:

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

这样它们看起来仍然像图像,但实际上是带有您想要的任何内容的发布表单。无论如何,这是简单的方法。更难的方法是使用 AJAX。

于 2012-04-18T21:43:16.807 回答
1

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

假设你有这个 HTML:

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

使用 jQuery,您可以轻松跟踪标记为目标的元素的点击:

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

如果您不想直接发布或获取点击,我建议注册 jQuery 点击处理程序,它根据点击的元素设置 JavaScript 变量。

请注意,jQuery 的点击处理程序可以注册到任何元素,而不仅仅是表单。此外请注意,例如上面的点击处理程序不会将页面发布或获取到服务器。

此外,请看这里,关于如何防止浏览器提交表单:将“return false”添加到单击事件侦听器的效果是什么?

比 JavaScript 更好的是CoffeScript,它可以编译成 JavaScript,但让生活变得更容易。试试看!

于 2012-04-18T21:43:51.557 回答
0

AJAX 呢?这是解决您的问题的最佳选择,而且您也可以使用 post。

于 2012-04-18T21:41:36.557 回答