尝试通过JS将一些参数传递给PHP时遇到了一些问题。
情况如下:
HTML:
<form id="numbtns" method="post" action="imphp.php">
<button id="1" onClick="pass(this.id)">1</button>
<button id="2" onClick="pass(this.id)">2</button>
<button id="3" onClick="pass(this.id)">3</button>
<button id="confirm" onClick="save()">submit</button>
</form>
JS:
pass(clicked_id) {
var btn = document.getElementById(clicked_id);
**// I have no idea what to do next to give the ids to the php file.**
}
save() {
**// I want function save() to collect the parameters from function pass(), and pass them to 'imphp.php' when submit button is clicked. I'm stuck here.**
}
PHP:
// connection part, let's skip it.
...
$num = $_POST['num'];
$query = sprintf("SELECT id, num FROM tb WHERE num = $num");
我知道这对你来说可能是一个快速而愚蠢的问题,但我几个小时都无法理解。所以...任何人都可以帮助我,我会非常感激。
提前谢谢。答案 0 :(得分:2)
我认为你不需要Javascript。您要做的就是将表单发布到PHP页面,对吗?
<form id="numbtns" method="post" action="imphp.php">
<input type="radio" name="num" value="1" /> 1<br />
<input type="radio" name="num" value="2" /> 2<br />
<input type="radio" name="num" value="3" /> 3<br />
<input type="submit" value="Save" />
</form>
使用按钮对我毫无意义,所以我将它们改为单选按钮。用户将选中一个,然后单击“保存”按钮以提交表单。
答案 1 :(得分:1)
你需要使用AJAX ......我建议使用像jQuery这样的javascript库来简化这个过程......这是一个使用jQuery / AJAX / PHP的教程:http://www.php4every1.com/tutorials/jquery-ajax-tutorial/
答案 2 :(得分:1)
这是一个非常常见的问题,您可以通过查看此页右侧的相关标题来查看。
我看到了很多,而且很多人对PHP和Javascript的工作方式的理解似乎有一个根本性的缺陷,所以我想把它扔出去。
PHP在服务器上运行,执行.php页面中的代码和那里的模块,并生成发送到浏览器的输出。 PHP现在完成了。停止。菲尼。您的PHP代码不再运行。
Web浏览器接收输出,构建DOM树,并开始将HTML呈现为页面并执行Javascript。 Javascript 无法将参数传递给PHP,因为PHP 不再运行。它已终止执行。过时了。此外,Javascript在浏览器中,在客户端机器上运行,而PHP在服务器上运行。
可以做的是调用一些新的PHP(或重新调用相同的PHP代码来做其他事情),这通常是通过Javascript进行AJAX调用,如@Jeffery A伍德建议他回答。
答案 3 :(得分:0)
HTML,虽然我建议将按钮元素更改为<input type="button" ...>
元素
<form id="numbtns" method="post" action="imphp.php">
<input type="hidden" name="buttonID" value="1" />
<input type="button" onClick="pass(this)" value="1" />
<input type="button" onClick="pass(this)" value="2" />
<input type="button" onClick="pass(this)" value="2" />
<input type="submit" id="confirm" value="Submit" />
</form>
使用Javascript:
function pass(button) {
document.getElementById("buttonId").value = button.value;
}