onclick 事件后调用 php 函数

Posted

技术标签:

【中文标题】onclick 事件后调用 php 函数【英文标题】:Calling a php function after onclick event 【发布时间】:2016-11-08 12:19:02 【问题描述】:

我需要帮助。

这个 php 代码向我展示了一个包含 mysql 数据库中人员姓名的表格:

if ($numRows>=1)

echo<<<END
<td align="center" bgcolor="e5e5e5">nazwisko</td>
</tr><tr>
END;

for ($i = 1; $i <= $numRows; $i++)

$row = mysqli_fetch_assoc($result);
$nazwisko = $row['nazwisko'];   

echo<<<END
<td align="center">$nazwisko</td>
</tr><tr>
END;


我希望此表仅在单击按钮后显示。 html 代码如下所示:

<form class="form-horizontal" role="form" method="POST" action="index.php">
<input id="button" name="submit" type="submit" value="Szukaj" class="btn btn-info">

我的努力是徒劳的。我将不胜感激。

【问题讨论】:

这是 PHP/MySQL 101。我敢打赌网上有成千上万的教程。 您不能直接从 javascript 调用 PHP 函数。您需要在它们之间使用 Ajax。 【参考方案1】:

完整代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
            <script>

        function phprun()
         $.ajax(
                    url:'/index.php',
                    type:'post',
                    dataType:'html',
                    success:function(data)
                        $('#htmlshow').append(data);
                    ,
 error:function(request,status,error)


$('#htmlshow').append("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);

                )
        
            </script>
        <div id="htmlshow">
        </div>
            <form class="form-horizontal" role="form" method="POST" action="/index.php" onsubmit="return false;">
            <input id="button" name="submit" type="submit" value="Szukaj" class="btn btn-info"     onclick='phprun()'>

【讨论】:

【参考方案2】:

您的浏览器无法解释 PHP。您必须进行 Ajax 调用。

request = $.ajax(
    url: "/index.php",
    type: "post"
);

request.done(function (response)
    // append the html somewhere on your page
);

【讨论】:

以上是关于onclick 事件后调用 php 函数的主要内容,如果未能解决你的问题,请参考以下文章

JSP页面onclick事件失效

按钮 onclick 函数触发两次

使用 CollapsingToolbarLayout 滚动后不会调用 OnClick 事件。

如何修复'require_once()无法打开流'

onsubmit事件不执行怎么回事啊 onclick也没反应。。。

函数未在 onclick 事件中调用