-1

我正在尝试使用 javascript 在 html 标签内创建 php 脚本。它的想法是,当用户单击按钮时,将触发 php 脚本的类型以生成并确定从数据库访问的内容。

我遇到的问题是,每当执行 javascript 时,编写的 php 都会像这样被注释掉<!--?php [code] ?-->。虽然我故意在 javascript 上写的是这个<?php [code] ?>

如您所见,标签已从脚本更改为注释 html 标签。

javascript代码

function determineDisplay(display_id) {
    var phpO = "<?php echo ";
    var phpF = "read_home('" + display_id + "', '";
    var phpE = "'); ?>";

    var type = [];
    type[0] = "content_desc";
    type[1] = "content_img";
    var imgpath = "images/; ";
    type[2] = "content_comp";

//The alerts are to check what is inserted afterwords.

    document.getElementById(type[0]).innerHTML = phpO + phpF + type[0] + phpE;
alert(document.getElementById(type[0]).innerHTML);
    document.getElementById(type[1]).src = phpO + imgpath + phpF + type[1] + phpE;
alert(document.getElementById(type[1]).src);
    document.getElementById(type[2]).innerHTML = phpO + phpF + type[2] + phpE;
alert(document.getElementById(type[2]).innerHTML);
}

html代码(html有一个默认的php,但是通过使用javascript,它被改变了。

<table width="696px" border="1">
    <tr>
        <td><font size="-1" id="content_desc">
            <?php read_home('a', 'content_desc'); ?>
        </font></td>
        <td>
        <img id="content_img" src='<?php echo "images/"; read_home('a', 'content_img'); ?>' />
        </td>
    </tr>

    <tr><td colspan="2" align="center"><font size="-1" id="content_comp">
        <?php read_home('a', 'content_comp'); ?>
    </font></td></tr>
</table>

我想要完成的是,根据用户单击的按钮,生成read_home()php 函数的第一个参数。

**html buttons using javascript for php**
    <input type="button" id="s" class="support" onclick="determineDisplay('s');"/>
    <br />
    <input type="button" id="a" class="about" onclick="determineDisplay('a');"/>
    <br />
    <input type="button" id="m" class="mission" onclick="determineDisplay('m');" />
    <br />
    <input type="button" id="v" class="vission" onclick="determineDisplay('v');" />
    <br />
4

3 回答 3

3

它的想法是,当用户单击按钮时,将触发 php 脚本的类型以生成并确定从数据库访问的内容。

你想要做的是使用ajax。当用户单击您的按钮时,您向服务器发出异步请求,然后您的服务器可以在您的数据库中查找并将结果返回给浏览器(它可以将它们交给 javascript 函数),而无需重新加载页面。

http://www.w3schools.com/ajax/

于 2013-06-04T17:23:55.773 回答
1

PHP 是超文本的预处理器。处理页面后使用 Javascript。因此,为什么您不能使用 Javascript 插入 PHP 标记和脚本。

祝你好运。

编辑:

正如提到的另一个答案,您可以在加载后使用 Ajax 运行脚本。他给了 w3schools.com 的 ajax 例子

我可以建议使用 jQuery 库:http ://www.jQuery.com

您可以在以下位置找到 api 文档:http ://api.jQuery.com

于 2013-06-04T17:20:56.963 回答
1

解决方案是使用ajax. 当您使用 javascript 时,它的处理是在浏览器端完成的,而您试图基于浏览器端渲染生成 php,这是不可能的,因为 php 是服务器端预处理器。

正如@waldol1 所说,您可以使用Ajax和调用异步请求来与服务器/数据库进行交互。

于 2013-06-04T17:32:40.463 回答