先看一个不成功的例子:
<script language=vbs>
function check(data)
if data = "" then data=0
end function
</script>
<input type=text id=x1 value="" onclick=vbs:check(x1.value)>
<input type=text id=x2 value="" onclick=vbs:check(x2.value)>
x1.value和x2.value为什么返回值不是0,因为在check()函数里返回的是值,但是x1和x2是对像.
如果要改,就要改成
<script language=vbscript>
function check(obj)
if obj.value = "" then obj.value = "0"
end function
</script>
这样的了.
再精彩的一点来了.
<input type=text id=x1 value="" onclick=vbs:msgbox"ok">
这个语句是可以成功的,注意到了没有,msgbox与"ok" 没有空格.这样的写法,空格可以用+代替.但是,经过测试发现,vbs:后只能跟函数和表达式(表达式的话还有一些其它字符要代替一下,像>换成>等等),不能跟语句.如果要正常的写上vbs语句,应当改为如下语句:
<input type=text id=x1 value="" "ok"'>
但是上边的问题还是没有解决,就是 <input type=text id=x1 value="" onclick=vbs:msgbox"ok">
中间没有空格,为什么会成功呢?这个问题弄不明白.如果换成exec,这方面的跨站就要研究一下了.