请问一下,在服务端执行的ASP(VBSCRIPT VB 脚本)怎么实现类似于Inputbox的弹出窗口
如题所说,在服务端执行的ASP(VBSCRIPTVB脚本)怎么执行类似于Inputbox的弹出窗口脚本,并且能获取弹出窗口(用户所输入)的值?PS:是在<%%>里面实现I...
如题所说,在服务端执行的ASP(VBSCRIPT VB 脚本) 怎么执行类似于Inputbox的弹出窗口脚本,并且能获取弹出窗口(用户所输入)的值?PS:是在<% %>里面实现Inputbox 而不是客户端脚本实现
展开
2个回答
展开全部
这是不可能的,既然是服务器端脚本,如果可以弹窗的话,弹出的窗口也是出现在服务器的屏幕中的,弹给谁看啊,机房管理员?另外试想一下,如果有多人同时访问这个ASP页面,那么服务器屏幕就会弹出多个窗口,很容易就会造成服务器崩溃的。
原理很简单,服务器端脚本绝对不可能直接面对用户的,它的一切输入必须通过客户端浏览器的HTML代码及前端脚本(主要是Javascript)与用户交互获得,而输出也必须发送给客户端再反馈给用户,所以ASP(PHP、JSP也一样)中是不可能存在与用户直接交互的命令的。否则的话,别的不说,光是安全性就会带来很多问题。
所以,正确的做法应该是ASP把弹窗的代码发送给客户端,客户端脚本弹窗让用户输入,然后再把用户输入结果通过URL参数返回给ASP进行处理。如果在此过程中不想刷新页面,可以使用ajax无刷新技术。
<%
response.write "<script language=vbscript>" & vbcrlf
if request("a")<>"" then
response.write "msgbox '您刚才输入的是" & request("a") & "'" & vbcrlf
else
response.write "a=inputbox('请输入')" & vbcrlf
response.write "location.href='?a=' & a" & vbcrlf
end if
response.write "</script>" & vbcrlf
%>
原理很简单,服务器端脚本绝对不可能直接面对用户的,它的一切输入必须通过客户端浏览器的HTML代码及前端脚本(主要是Javascript)与用户交互获得,而输出也必须发送给客户端再反馈给用户,所以ASP(PHP、JSP也一样)中是不可能存在与用户直接交互的命令的。否则的话,别的不说,光是安全性就会带来很多问题。
所以,正确的做法应该是ASP把弹窗的代码发送给客户端,客户端脚本弹窗让用户输入,然后再把用户输入结果通过URL参数返回给ASP进行处理。如果在此过程中不想刷新页面,可以使用ajax无刷新技术。
<%
response.write "<script language=vbscript>" & vbcrlf
if request("a")<>"" then
response.write "msgbox '您刚才输入的是" & request("a") & "'" & vbcrlf
else
response.write "a=inputbox('请输入')" & vbcrlf
response.write "location.href='?a=' & a" & vbcrlf
end if
response.write "</script>" & vbcrlf
%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询