0

MySQLデータを使用して入力している3つの同一のドロップダウンリストがあります。それらの1つがインデックスを変更した場合(onchangeが発生した場合)、他の2つを再入力して、他のドロップダウンリストで選択されたアイテムを除外するようにします。

ASP.NETでは、コードビハインドで関数(選択したアイテムの値を渡す)を呼び出して、他の2つを再入力するだけでした。

私はしばらくの間突っついていますが、PHPではそれを実行できません。PHPはこのイベントからの関数呼び出しを許可していますか?私もAJAXを使ってみましたが、何もしませんでした。

4

3 に答える 3

1

OnChange() は js 関数です。これを使用して php 関数を呼び出すには、AJAX を使用する必要があります。ajax を使用すると、php のコードの戻り値を取得したり、ページに表示したり、必要な操作を実行したりできます。

幸運を

于 2012-08-09T11:14:06.743 に答える
1

クライアント側からサーバー側の関数を (直接) 呼び出すことはできません。

関数を呼び出すサーバー側スクリプトを実行する URL に対して HTTP 要求を行うことができます。

ASP.NET には、URL をセットアップし、その URL を呼び出す JavaScript を生成する機能がいくつかあります (使用したことはないと思います)。

PHP コアには、それを行うものは何もありません。

そのようなことを行う方法の非常に大まかな、簡単で汚い概要 (RESTful であろうとはしません) は次のようになります。

 callFunction.php:
 <?php
     include("myFunctions.php");
     if ($_GET['call'] == "functionA") {
         functionA();
     }
 ?>

次に、JS は ajax リクエストをcallFunction.php?call=functionA.

于 2012-08-09T11:15:08.287 に答える
0

ASP.NET は、ドロップダウンが変更されたときに Postback を実行していましたが、明示的に記述する必要はありませんでした。

PHP でサーバーへの往復を行いたい場合は、同じロジックを実装する必要があります (たとえば、onchangeイベントで JavaScript を使用してフォームを投稿します)。

これは AJAX を使用する場合にも適した状況ですが、何を試したか、または何がうまくいかなかったのかについて詳細を提供していないため、これ以上の支援は困難です。

于 2012-08-09T11:13:31.530 に答える