php调用js代码中的参数
JS是客户端脚本,PHP是服务器脚本,直接赋值给PHP变量,无法实现。
可以用script language=javascript>
function a(obj)
{
n=objvalue;
windowlocationhref=" phpq='+n+' ";
}
</script>
<
$tmp= $_GET['q'];
echo $tmp;
>
首先不是ASP调用,如果是ASP调应该说是使用JS代码写服务器,而不再使用VB/VBS了。在服务器使用JS是这样的:
<script type="text/javascript" runat="server">
</script>
这里中的代码是用JS写的。
而JS如果在在外边的话:
<script type="text/javascript" src="/XXjs" runat="server"></script>这是服务端使用JS。
你可能注意到我只是说使用而不说调用,其实这是服务器两种代码的混写。如果你在开头中有一个指令句的话:
<%@ Language="javascript" codepage="936"%>
则在 〈%%〉内的内容全部是使用了javascript的写法。可以混写,但没有必要吧?一种语言难道不能完成你的请求?
而<script type="text/javascript" src="/Xjs"></javascript>只是客户端的调用!也就是说该内容会发送到客户端的,然后会自动下载JS文件到本地,在本地的浏览器中执行!
而就算是你采用了两种语言混写的ASP代码,很不幸地告诉你,两种语言是不能直接通信的!也就是想在VB中调JS的变量或是函数都是错误的。这就是为什么称ASP不能调用JS。
JS是浏览器的脚本语言,可别忘记另外一个重要内容。VBSCRIPT也可以是浏览器的脚本语言的。而在服务端也是同样。所以别在想ASP调用JS了!
如果是客户端的调用,请检查路径是否正确,是否存在该函数以供调用。如果你的JS中没有这个函数,显然也是调用不成功能的。检查浏览器是否禁用了JS脚本。
当一切检查完成,可能还会犯这样的毛病:
JS文件和格式如果这样写就不会有任何调用的(事实上文件已经调入,便不能调用函数而已)
XXjs
<script language="javascript">
fuction nan(){
}
这里定义了一大堆的函数
</script>
这种写法本身就是错误的,但有很多有就这样写。实际上格式是里边全部是JS语句,不存在任何其他内容的!
DropDownList加上OnSelectedIndexChanged方法,并加上AutoPostBack="true"后,会生成相应的js脚本,如:
<asp:DropDownList ID="dropdownlist1" runat="server" AutoPostBack="true"
onselectedindexchanged="dropdownlist1_SelectedIndexChanged">
得到的html代码是:
<select name="dropdownlist1" onchange="javascript:setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0)" id="dropdownlist1">
那么在你的其它代码里,只要调用相应的js代码就可以了,比如
<script type='text/javascript'>
function myevent(){
setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0);
}
</script>
楼主,首先纠正一下,PHP是不能执行JS的函数的(当然,服务器端的js框架除外)!
1楼的答案,那是个伪调用,根本就不是php在调用,而是js代码自己在调用!
了解了php的执行流程就知道,js是客户端运行,php是服务器端运行!当在服务器端将php完全解析完,变为html代码,扔回浏览器后,就
全是html静态代码了!所以,一楼的答案是伪调用!不是真正的php调用!
前端静态页面可以用ajax访问php服务端,但是服务端的php代码是没法访问前端的js function 充其量用file_get_contents()什么的获取源代码
而已!
js 是依托于浏览器运行,服务器端都不存在浏览器,当然就没法运行了!对于服务器端来说,html和js就跟text文件一件,就是一堆字符!没有其他意义!
人家问的是PHP调用JS函数。。。楼主,我可以很负责的告诉你,这是不可能的。PHP是在
服务器端
运行的脚本,而JS是在浏览器运行的脚本,你要调用可以,直接echo个script就可以,但是获取
返回值
是不可能的,只有让JS把返回值通过AJAX发送给PHP才可以。
你这行代码应该是each循环出来的,id="zan"这里,在后面加个一个id值,如id="zan_'+nid+'"',
后面的js写成
$('img[id^="zan_"]')click(function(){});
这样的形式去实现功能
0条评论