使用js将几个参数传递给php

时间:2012-10-25 16:42:39

标签: php javascript

尝试通过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");

我知道这对你来说可能是一个快速而愚蠢的问题,但我几个小时都无法理解。所以...任何人都可以帮助我,我会非常感激。

提前谢谢。

4 个答案:

答案 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;

}