【发布时间】:2017-10-13 15:42:48
【问题描述】:
过去一小时我搜索了 stackoverflow 并发现了类似的问题,但尝试解决方案只给了我错误 - 可能是因为我试图在同一页面上加载它。
我尝试将值保存到 JS 中的 cookie,然后将其加载到 php 中,也尝试通过 ajax 等。
根据我的阅读,它不能只在内部完成,因为 PHP 是服务器端,而 Javascript 是浏览器端。
我目前有一个 .html 页面,其中包含一个通过 POST 发送值的表单:
form.html
<form id="calc" form name="calculator" method="post" action="/calculate.php">
解决方案不是表单,我不能有隐藏字段,因为我需要用户输入。我可以有一个形式为 yes 的单选框,然后以这种方式获取值,但这不是我的问题。我的问题是如何获取用户的输入并将其转换为表单重定向到calculate.php的页面上的php:
calculate.php
<?php
if(isset($_POST['submit'])){
$x= $_POST['value'];
echo "your something:";
echo $x;
?>
Click button below for option one to do this, or click two for that, or three for something else...
<button id="one"> one </button>
<script>
$(document).ready(
function() {
$("#one").click(function() {
make php value 1
});
</script>
use php value from click
所以用户已经点击了提交。然后通过他们的输入重定向到 .php 页面,然后他们可以选择按钮 1、2 或 3,例如通过 javascript on calculate.php NOT 表单。
我的问题是我需要知道在同一页面上-calculate.php,在php 中单击了哪个按钮。这样我就可以使用他们的输入并根据哪个按钮用它做不同的事情。
是否可以通过单击calculate.php 本身的按钮来设置或创建一个值,而javascript 按钮在同一页面上产生一个php 值?是否需要通过ajax从external.php页面加载?有没有其他办法?
【问题讨论】:
-
您不需要 javascript,只需将隐藏的输入放入您的表单中接收 $value 和您的迭代代码在表单之前进行 value。每次提交都会加1。
-
@CarlosAlexandre 我已经编辑了我的代码示例,因为我认为我没有正确解释它,用户已经点击了提交。然后在他们所在的页面上,可以通过javascript选择按钮1、2或3。我需要在同一页面上知道在 php 中单击了哪些按钮。
-
在
.form.html或calculate.php上是否有带有1、2和3的按钮?如果它们在表单上,您可以简单地将它们设为单选按钮并在$_POST中传递值。如果他们在calculate.php,表单应该与问题无关,因为您只需在 JavaScript 中计算点击次数并将这些变量转换为 PHP 变量。 -
再有一次,我会把全部责任交给 php。复选框/收音机的更改按钮,每个复选框都有一个名称,您可以在单击后在 php 中捕获该名称。如果您想要这么难的javascript,请使用您想要的名称放置隐藏的输入,当您单击按钮时,将值放入隐藏的相应输入中,然后使用 $('form').submit();
-
@Obsidian Age 表单与问题完全无关我只是不希望人们认为解决方案是表单,“只需在 JavaScript 中计算点击次数并将这些变量转换为 PHP变量。“这正是我需要的,你能详细说明一下最好的方法吗?
标签: javascript php html ajax cookies