0

私のコードにはテキスト入力と送信ボタンがあり、戻り時にそのフォームが非表示になり、新しいボタンが表示されます。私が抱えている問題は、ボタン (または innerHTML) の値をクエリの回答 (常に 1 つだけ) に設定することです。次のコードがあります。

echo '<form><button id="HCP_Btn" name="HCP_Btn" style="display:none"></button></form>';

    $HCP_num = $_POST['HCP_num'];
    $HCP_Query="SELECT * FROM HomeCareProviders WHERE Number='". $HCP_num."'";


    $HCP_result= mysql_query($HCP_Query) or die(mysql_error());

    if (mysql_num_rows($HCP_result)==0){
        echo 'Sorry there are no Home Care Providers with the number entered.';
    }
    //HCP_Btn.innerHTML='.$row["name"].';
    else {
        $row = mysql_fetch_array($HCP_result);
        echo '<script type="text/javascript">
                HCP_Btn.style.display="";
                document.form.HCP_Btn.innerHTML='.$row["name"].';       
              </script>';                           
    }
4

4 に答える 4

0

最初にこのように変更します

echo '<script type="text/javascript">
                //HCP_Btn.style.display="";
                document.form.HCP_btn.innerHTML=\''.$row["name"].'\';       
              </script>';   

$row["name"] が正しい値を与えるかどうかを2番目に確認し、最後にjavascriptコンソールでエラーを確認します。

また、HCP_Btn.style.display=""; このような意味はありません。

于 2013-06-06T08:48:50.590 に答える
0

問題はおそらく、ボタンの ID がHCP_Btnであるためですが、さらに JS ではHCP_btnのようにアクセスしています。問題は小さい可能性がありますinnerHTMLまた、値の引用符がありません。

行を変更する

document.form.HCP_btn.innerHTML='.$row["name"].';

document.form.HCP_Btn.innerHTML="'.$row["name"].'";
                  ^             ^                ^
    make the b uppercase    add quotes ----------^

編集: jQuery を試したことがありますか? JSプログラミングを非常に簡単にするのは、一般的かつ広く使用されているJavaScriptフレームワークです(ご存知のとおり)... jQueryを使用すると、次のことができます。

echo '<script type="text/javascript">
$("#HCP_Btn").css({"display":""}).html("'.$row['name'].'");
</script>';
于 2013-06-06T08:42:59.650 に答える
0

JavaScript 呼び出しからの情報はどのようにして innerHTML 自体に返されるのでしょうか? いつ呼び出されて変更されますか? それをまずやるべきだと思います。

ユーザーがボタンを押しています。次に、PHP を使用してデータベースにアクセスし (そのための新しい要求応答が必要です)、AJAX または JavaScript を使用して、クライアント側で機能させることができます。

サーバー側とクライアント側の問題を混同していると思います。ボタンの表示を切り替えて情報を表示するには、少なくとも onClick イベントで関数呼び出しが必要です。その onClick イベントは JavaScript 関数を呼び出す必要があり、それが変更を処理します。

于 2013-06-06T08:53:25.403 に答える