簡體   English   中英

使用js將幾個參數傳遞給php

[英]pass several parameters to php using js

嘗試通過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");

我知道也許對你來說這是一個快速而愚蠢的問題,但我幾個小時都無法理解。 所以...任何人都可以幫助我,我會非常感激。

Thx提前。

我認為你不需要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>

使用按鈕對我來說毫無意義,所以我將它們改為單選按鈕。 用戶將選中一個,然后單擊“保存”按鈕以提交表單。

你需要使用AJAX ...我建議使用像jQuery這樣的javascript庫來簡化這個過程......這是一個使用jQuery / AJAX / PHP的教程: http//www.php4every1.com/tutorials/jquery-ajax-教程/

這是一個非常常見的問題,有幾種形式,您可以在本頁右側的相關標題下查看。

我看到了很多,似乎有許多人對PHP和Javascript如何工作的理解存在根本缺陷,所以我想把它扔出去。

PHP在服務器上運行,執行.php頁面中的代碼和模塊,並生成發送到瀏覽器的輸出。 PHP現在完成了。 停止。 菲尼。 您的PHP代碼不再運行。

Web瀏覽器接收輸出,構建DOM樹,並開始將HTML呈現為頁面並執行Javascript。 Javascript 無法將參數傳遞給PHP,因為PHP 不再運行 它已終止執行。 過時了。 此外,Javascript在客戶端計算機上的瀏覽器中運行,而PHP則在服務器上運行。

可以做的是調用一些新的PHP(或重新調用相同的PHP代碼來執行其他操作),這通常是通過Javascript進行AJAX調用,如@Jeffery A Wooden在他的回答中所說。

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;

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM