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");

多分それはあなたにとって迅速で愚かな質問であることを私は知っています、しかし私はそれを何時間も理解することができません。だから...誰かが私を助けてくれますか、私はそれをとても感謝しています。

事前にThx。

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>

ボタンを使うのはまったく意味がなかったので、ラジオボタンに変更しました。ユーザーは1つをチェックし、[保存]ボタンをクリックしてフォームを送信します。

于 2012-10-25T16:54:07.020 に答える
1

このページの右側にある関連見出しの下を見るとわかるように、これはいくつかの形式の1つで非常によくある質問です。

私はこれをよく目にし、PHPとJavascriptがどのように機能するかについての多くの人々の理解に根本的な欠陥があるように思われるので、これをそこに捨てたかったのです。

PHPはサーバー上で実行され、.phpページのコードとそこにあるモジュールを実行し、ブラウザーに送信される出力を生成します。PHPが完成しました。停止。フィニ。PHPコードは実行されていません。

Webブラウザーは出力を受け取り、DOMツリーを構築し、HTMLをページとしてレンダリングしてJavascriptを実行し始めます。PHPが実行されていないため、 JavascriptはパラメータをPHPに渡すことができません。実行を終了しました。カプート。さらに、Javascriptはブラウザ、クライアントマシンで実行され、PHPはサーバーで実行されます。

あなたができることは、いくつかの新しいPHPを呼び出す(または同じPHPコードを再度呼び出して何か他のことをする)ことです。これは通常、@ Jeffery A Woodenが彼の答えで示唆しているように、JavascriptからAJAX呼び出しを行うことで行われます。

于 2012-10-25T16:56:26.450 に答える
1

AJAXを使用する必要があります...jQueryのようなjavascriptライブラリを使用してプロセスを簡略化することをお勧めします...これはjQuery/AJAX / PHPを使用したチュートリアルです:http ://www.php4every1.com/tutorials/jquery-ajax-チュートリアル/

于 2012-10-25T16:45:43.987 に答える
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 に答える