1

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

4 回答 4

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>

使用按钮对我来说毫无意义,所以我将它们改为单选按钮。用户将检查一个,然后单击“保存”按钮提交表单。

于 2012-10-25T16:54:07.020 回答
1

You need to use AJAX... i would recommend simplifying the process with a javascript library like jQuery... here is a tutorial using jQuery / AJAX / PHP: http://www.php4every1.com/tutorials/jquery-ajax-tutorial/

于 2012-10-25T16:45:43.987 回答
1

这是几种形式之一的一个非常常见的问题,您可以通过查看此页面右侧的相关标题下看到。

我经常看到这一点,而且许多人对 PHP 和 Javascript 如何工作的理解似乎存在根本缺陷,所以我想把它扔掉。

PHP 在服务器上运行,执行 .php 页面和那里的模块中的代码,并生成发送到浏览器的输出。PHP 现在完成了。停了下来。菲尼。您的 PHP 代码不再运行。

Web 浏览器接收输出,构建 DOM 树,并开始将 HTML 呈现为页面并执行 Javascript。Javascript无法将参数传递给 PHP,因为 PHP不再运行。它已终止执行。卡普特。此外,Javascript 在客户端机器上的浏览器中运行,而 PHP 在服务器上运行。

可以做的是调用一些新的 PHP(或重新调用相同的 PHP 代码来做其他事情),这通常是通过从 Javascript 进行 AJAX 调用来完成的,正如@Jeffery A Wooden 在他的回答中所建议的那样。

于 2012-10-25T16:56:26.450 回答
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;

}
于 2012-10-25T16:51:00.450 回答