首頁 >後端開發 >php教程 >php一个小问题

php一个小问题

WBOY
WBOY原創
2016-06-06 20:23:291387瀏覽

有一个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'

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn