Home >Backend Development >PHP Tutorial >php一个小问题

php一个小问题

WBOY
WBOYOriginal
2016-06-06 20:23:291395browse

有一个function a($a){

}

echo ""

该怎么写??
为什么我写出来的执行不了呢

回复内容:

有一个function a($a){

}

echo ""

该怎么写??
为什么我写出来的执行不了呢

HTML不能使用PHP层面的函数

echo到页面的是一段html文本,这个时候input.submit触发的a()是页面中的javascript函数,你在php里定义的a()是调用不了的

onclick是浏览器的一个事件,能调用一个JS函数,但不能调用PHP函数,因为PHP解释器是在服务器.所以你可以这样,onclick后调用一个JS函数,这个JS函数向PHP服务器发出AJAX请求,这时你就可以编写PHP函数来响应并返回数据给浏览器了.AJAX操作建议使用jQuery库的$.post()和$.get()来进行.

前后端分清楚,
如果是希望客户端click时才调用执行那个函数,
那么函数就要写成js的,onclick里面调用js函数,
如果是服务器运行那个函数,onclick里面的东西在页面加载出来就是固定的了,

php是在服务器端执行的,javascript是在客户端执行的。虽然代码写在一起,但执行时间不一样。

你可以用php在页面中输出javascript来给前端变量赋值。
也可以用javascript请求url接口的方式来执行php在后端封装好的方法。

代码的执行顺序是先在服务端执行PHP代码,由PHP输出String类型的HTML代码到客户端,此时PHP执行完了就不能再执行任何PHP代码的,然后接下来的事情就交给浏览器、JS、CSS等来渲染解析执行了。。。
你可以在HTML中用JS移植你的PHP函数,然后执行JS函数,比如:

<code>/*HTML*/
<input type="submit" onclick="test(<?php echo $a;?>)"></code>
<code>/*JS*/
function test(a){
    console.log(a);
}</code>

一般html调用的函数在js里面

如果题主看完前面的答案,已经分清了前端脚本和后端脚本。
那么现在的需求用ajax应该能够实现

在浏览器里面是没有php代码的。php先对文件进行解析,生成html文件,然后浏览器拿到的html文件里面一行php代码都没有。当然不能执行了。

<code>echo "<input type="submit" onclick="a()">";</code>

应该是这么写吧。
form中input type是submit的时候点击会提交这个form,你可以把type='submit'改成type='button'

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn