0

これに対する答えを探してみましたが、見つからないようです。

2 つの情報を取り込んで、成功または失敗として返すデータベースがあります。

「送信」ボタンを押してから、PHPクエリを実行して(これで問題ありません)、完了したらエコーをテキストボックスに出力できるようにしたいと思います。

echo '<form name="enrolled" method="post" action="<MY FUNCTION HERE>"><select name="course">';

関数が完了すると、何かがエコーされます。エコーするテキストボックス表示が欲しいです。

私が抱えていた問題は、リアルタイムで機能していなかったことです。エコーをテキストボックスに簡単に表示できましたが、空白のままにし、関数が完了したらボックスにデータを入力することはできません。

お読みいただきありがとうございます。

4

6 に答える 6

0

それを行う2つの方法:

Post と更新を介して:

あなたのフォームはscript.phpのようなものです

<?php
    $result = "Hello world!"; //Do your logic anywhere but be sure to set the result here
?>
<form method="post" action="script.php">
....
<input type="text" value="<?= $result?>" readOnly>
<input type="submit">
</form>

もう 1 つは AJAX を使用する方法で、これにはさらに多くの調査が必要です。これを試してみてください、それははるかに簡単です!

于 2013-04-03T21:23:09.443 に答える
0

あなたは PHP について間違った方法で考えています。PHP は Web ブラウザと直接対話しません。必要なのはAJAXです。理由は次のとおりです。

  1. クライアント (Web ブラウザー) が Web サーバー (Apache、lighttpd など) に要求を送信します。
  2. Web サーバーはそのリクエストを解釈し、(この場合は) PHP に渡します。
  3. PHP は、Web サーバーから与えられた入力に基づいて結果をエコーし​​ます。
  4. Web サーバーはその結果を Web ブラウザーに送り返します。
  5. Web ブラウザーは、その情報をどう処理するかを決定します。

これが Web ページに移動している場合、Web ブラウザーは Web サーバー (PHP を使用して生成) によって生成されたコンテンツをレンダリングします。Web サーバーがすでに応答している場合は、それでおしまいです。応答を取得したことになります。より多くの情報を取得するには、新しいリクエストを作成する必要があります。つまり、次の 2 つのことのいずれかを行う必要があります (通常)。

  • フォームの送信、リロード、新しいページへの移動などにより、ブラウザ内を移動します。
  • Javascript (サーバーではなくクライアントによって実行される) を使用して「バックグラウンド」リクエストを行う

Javascript を使用して「バックグラウンドで」リクエストを行い、リロードせずにページを更新する手法はAJAXと呼ばれ、タスクを実行する方法はたくさんありますが、最も簡単で最も一般的な方法は、JQuery ライブラリを使用することです。これは、Javascript への便利な機能と追加機能の素晴らしいキットであり、POST メソッドを使用して AJAX リクエストを作成するための単純な機能を含め、作業の負担を軽減します (さらには楽しくもします!) 。

このテーマについて学ぶことはたくさんありますが、このタスクを達成するために知っておくべきことを十分に理解できるようになることを願っています。

于 2013-04-03T21:43:46.050 に答える
0

まったくエレガントではありませんが、フィールド全体をエコーするだけです...

echo "<input type='text' name='something' value='the value you want to echo'>";

PHPで何をしようとしているのかよくわかりません。

于 2013-04-03T21:18:17.870 に答える
0

AJAXを使用してフォームを投稿し、ボックスに結果を表示する必要があります。jQueryライブラリを使えば簡単です。jQuery ライブラリを含めるには、これを html ヘッドに追加するだけです

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

次に、このスクリプトを使用してフォームを送信できます

<script type="text/javascript">
    $(document).ready(function(){
        $("#myform").submit( function () {    
          $.post(
           'post.php',
            $(this).serialize(),
            function(data){
              $("#result").html(data)
            }
          );
          return false;   
        });   
    });

post.php を、フォームを受け取って回答を返す、呼び出しているスクリプトの名前に置き換えます。myformはフォームの ID でありresult、結果を表示するボックスの ID です。

于 2013-04-03T21:25:24.453 に答える
0

html フォーム アクション属性は、javascript 関数ではなく URI であると想定されています。

フォームまたは入力のみをリアルタイムで更新するには、javascript を使用して ajax リクエストを実行できます。迅速かつ迅速に作成したい場合は、フォームで ajax 更新を行うためにMootools Request クラスを使用することをお勧めします。

Mootools サイトで ajax リアルタイム更新 (HTML、PHP、Javascript)の完全なデモ例を見ることができます。

于 2013-04-03T21:21:30.087 に答える