asp(javascript)语法

来源:百度知道 编辑:UC知道 时间:2024/06/20 18:40:40
2个页面,从第一个页面表单传送数值,第二个页面APS判断,如果为空,则不插入数据库。之前用VBscript很容易就做出来

if request("name")<>"" and request("title")<>"" and request("neirong")<>"" then

set inter=conn.execute ("insert into guest(name,title,neirong) values('"&request("name")&"','"&request("title")&"','"&request("neirong")&"')")

end if
改用JavaScript,表单空值传过来,自己老插入 undefined ,外虾米
if (Request.Form("name")!="") {

var inter=conn.Execute("insert into guest(name,title,neirong) values('"+Request.Form("name")+"','"+Request.Form("title")+"','"+Request.Form("neirong")+"')");

}
不对,用[]也不行
ASP采用VB语法,JavaScript用JAVA语法就行了,把最上面的那句<%@LANGUAGE="JAVASCRIPT" CODEPAGE="9

两种代码还是有很大区别的,Request.Form["name"]是取传值的方法,而在VBS中却是"括号不分家"的现象,可以直接使用Request.Form("name"),这就是其区别,而使用小括号在JS中是哈希表等才用的东西,所以这里当然会出不到这样的一个参数,帮其结果为undefined(未定义),而你的判断中是与空值进行比较,其实在JS中就算你与"空"值比较(null)都是有区别的,所以当然是不空值(空串),所以你的条件当然会被编译的,所以也正常地加入到了数据库中!

但你的意思好象应该是:
if(Request.Form["name"] != "")吧?

呵呵,你搞混淆了!

javascript中你用Request.Form("name")取不到值。

Vbscript和Javascript怎么能相提并论呢?

一个服务器端,一个客户端。概念要搞清楚。

undefined说明你的js没有获取到对象值