0

我的代码有一个文本输入和提交按钮,返回时隐藏该表单并显示一个新按钮,该按钮有效。我遇到的问题是将按钮(或innerHTML)的值设置为我的查询中的答案(它总是只有一个)。我有以下代码:

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

1

您可以使用此 Javascript 代码

echo '<script type="text/javascript"> document.getElementById("HCP_Btn").style.display=""; document.getElementById("HCP_Btn").innerHTML="'.$row["name"].'";
</script>';

于 2013-06-06T08:50:50.437 回答
0

问题可能是因为您的按钮的 id 是HCP_Btn但在 JS 中您正在像HCP_btn一样访问它- 问题可能很小b。此外,您缺少该innerHTML值的引号。

换行

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

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

编辑:你试过 jQuery 吗?它是一种常用且广泛使用的 JavaScript 框架,它使 JS 编程变得如此容易(在你知道之后)......使用 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 回答
0

首先像这样改变它

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

第二次检查 $row["name"] 是否为您提供正确的值,最后检查您的 javascript 控制台是否有错误。

还有 HCP_Btn.style.display=""; 没有这样的意思。

于 2013-06-06T08:48:50.590 回答