我很迷惑...asp和js在一起不懂
如何和js一起合作呢?比如下面的语句
<script language=javascript>
function delete()
{
if(confirm( "确认要删除? ")==1)
{
<%
if request( "id ") <> " " then
sql= "delete from article where id= "&request.querystring( "id ")& " "
OBJConn.execute(sql)
response.write " <p align=center> <a href=admin.asp?pagenum= "&request.querystring( "pagenum ")& "> 已经删除!返回管理 </a> </p> "
response.end
end if
Rs.close
set rs=nothing
OBJConn.close
set OBJConn=Nothing
%>
location.reload();
}
}
</script>
为什么我放在什么地方就在什么地方执行,而不是点击带有onclick= "delete() "的标签作为事件执行呢?比如我里面写一个response.redirect( "xxx.xxx "),那么打开页面直接就去了xxx.xxx,而且为什么不执行confirm( "确认要删除? ")?并且在 <%%> 内部,执行的时候是按照vbscript还是javascript?如何将asp代码做入事件?而且什么时候和js配合使用?asp内部的if else then等语句是不是vbscript?这个是客户端还是服务器端执行的?是否会造成非ie用户不能正常执行?
------解决方案--------------------你的问题好多, <%%> 里面的东西是在服务器上执行的,服务器上默认的脚本是vbscript 通常是用response.write()的方式动态输出js
------解决方案--------------------比如我里面写一个response.redirect( "xxx.xxx "),那么打开页面直接就去了xxx.xxx,而且为什么不执行confirm( "确认要删除? ")?
这个还用说>??? response.redirect 就是直接跳转到指定的 页面
不会 给你 提示信息 即使你写了
以前我也遇见过
比如 当删除成功 提示
alert( "删除成功 ")
response.redirect( "??? ")
上边是没有提示信息的
如果 你确实要实现不要用这个 用JS
winow.location( "???? ") 这样就可以提示你了
------解决方案--------------------可以通过ASP生成JS
<%
response.write " <script> "
response.write "alert( 'test ') "
response.write " </script> "
%>
asp是服务器代码,js是客户端代码,服务器端的代码先执行,生成客户端代码,然后再执行客户端代码.
所以把asp代码写在js代码里面,就只有是赋值的情况
<%
dim text
text = "test "
%>
<script>
var a = " <%=text%> "
</script>
如果必须要将一个 js 里定义的变量传个服务器,那就需要用到
try{
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
saveXML = new XMLHttpRequest();
}
else if (window.ActiveXObject) { // IE
saveXML = new ActiveXObject( "Microsoft.XMLHTTP ");
}
------解决方案--------------------补充一点,结合一开始说的 可以通过asp生成js代码,来控制js的执行顺序