asp 传递参数问题,急死了!!!当场结贴!!!

cattleman 2009-01-12 10:03:20
我现在在做一个功能:添加标题后,当鼠标离开标题的文本框后,触发onBlur事件,判断一下刚刚输入的标题在数据库中是否存在,如果存在就给出警告,代码如下:

<script language="JavaScript">
function checktitle()
{
var check_title=document.form1.txttitle
titleok=check_title.value
<%
sqltitle="select title from mydata where title='"&request.form("txttitle")&"' order by newsid desc" --这里where处的title参数怎么传递过来呢?
rs.Open sqltitle,conn,1,1
if not rs.eof then%>
alert("这篇文章已经存在,请不要重复加入");

<%
end if
rs.close
%>
}
</script>

<body>
<input name="txttitle" onBlur=checktitle() id=me type="TEXT">
</body>


...全文
157 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cattleman 2009-01-13
  • 打赏
  • 举报
回复
拥抱一下chinmo !!!!!!!!!!!!!!!!!!!!!!!!!!
cattleman 2009-01-13
  • 打赏
  • 举报
回复
问题解决。

if(xmlhttp.responseText==true)
修改成

if(xmlhttp.responseText=="true")---加引号就对了!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!
Ajax万岁!!!!!!!!!!!!!!!!!!!!!
cattleman 2009-01-13
  • 打赏
  • 举报
回复
if(xmlhttp.readyState==4){---到这一步是对的。

if(xmlhttp.responseText==true)--到这一步是错的。xmlhttp.responseText=false也没有反映。
layers2323 2009-01-13
  • 打赏
  • 举报
回复
不需要。执行不了的错误是什么呢?
cattleman 2009-01-13
  • 打赏
  • 举报
回复
谢谢chinmo,好人哪,有个问题:Ajax的代码我为什么执行不了,我的是纯ASP环境,Ajax是不是需要在.net环境下才行?
  • 打赏
  • 举报
回复
我给的代码里
xmlhttp.open("post","xmlhttp.asp?lx="+titleok);
改为xmlhttp.open("post","xmlhttp.asp?txttitle="+titleok);

或者


sqltitle="select title from mydata where title='"&request("txttitle")&"' order by newsid desc" --这里where处的title参数怎么传递过来呢?
rs.Open sqltitle,conn,1,1
改为sqltitle="select title from mydata where title='"&request("lx")&"' order by newsid desc" --这里where处的title参数怎么传递过来呢?
rs.Open sqltitle,conn,1,1
taolidadi 2009-01-12
  • 打赏
  • 举报
回复
同意9楼的意见,呵呵,楼主的txttitle从哪获取的呢?
  • 打赏
  • 举报
回复
<script type="text/javascript">
<!--
var xmlhttp;
try{
xmlhttp= new ActiveXObject('Msxml2.XMLHTTP');
}catch(e){
try{
xmlhttp= new ActiveXObject('Microsoft.XMLHTTP');
}catch(e){
try{
xmlhttp= new XMLHttpRequest();
}catch(e){}
}
}
function checktitle(lx)
{
var check_title=document.form1.txttitle
titleok=check_title.value
xmlhttp.open("post","xmlhttp.asp?lx="+titleok);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4){
if(xmlhttp.responseText==true)
{
alert("这篇文章已经存在,请不要重复加入");
check_title.value="";
}
}
}
xmlhttp.setRequestHeader("If-Modified-Since","0");
xmlhttp.send(null);
}
//-->
</script>


以上是JS
xmlhttp.asp这个代码里面呢,就只是一个查询:

<% 
sqltitle="select title from mydata where title='"&request("txttitle")&"' order by newsid desc" --这里where处的title参数怎么传递过来呢?
rs.Open sqltitle,conn,1,1
if not rs.eof then
response.write true
else
response.write false

end if
rs.close
%>
杨哥儿 2009-01-12
  • 打赏
  • 举报
回复
Ajax:
我一时不能给你代码:
我给你第二种方法代码:
<script language="JavaScript">
function checktitle()
{
var check_title=document.form1.txttitle
titleok=check_title.value ;
var artitle[];
var i,j
<%
sqltitle="select title from mydata"
rs.Open sqltitle,conn,1,1
if not rs.eof then
while not rs.eof{
rs.movefirst
artitle[i++]=rs.fields[0];
rs.movenext;
}
end if
rs.close
%>
for(var j=0;j<i;j++){
if(titleok=artitle[j]){
alert(("这篇文章已经存在,请不要重复加入");
exit;
}
}
}
</script>
cattleman 2009-01-12
  • 打赏
  • 举报
回复
各位帮忙啊。。。。
cattleman 2009-01-12
  • 打赏
  • 举报
回复
Ajax怎么用?怎么用?能给个用Ajax来实现的例子吗?
杨哥儿 2009-01-12
  • 打赏
  • 举报
回复
同意楼上:
当前函数运行时,服务器端并没有有你输入的值呀?
当然是0了.
我的办法:
1.通过服务器查验;
2.把所有文章名全查询出来,放在客户端数组中,用户输入后在数组 中检查.
3.用AJAX;
cattleman 2009-01-12
  • 打赏
  • 举报
回复
晕死。我现在是着急要解决问题,帮个忙好吗?
cattleman 2009-01-12
  • 打赏
  • 举报
回复
哈哈。谢谢Anlige,能帮我用Ajax实现一下吗?要去学Ajax来不及了,非常感谢!!!
swhrzl 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 Anlige 的回复:]
楼主先自己区分一下服务器代码和客户端代码的区别~~~

你的想法可以用Ajax来实现~你那样调用是不可能达到你要的效果~~~

说句实话楼主别生气:你连了解ASP的程度都达不到~
[/Quote]
顶..
Anlige 2009-01-12
  • 打赏
  • 举报
回复
楼主先自己区分一下服务器代码和客户端代码的区别~~~

你的想法可以用Ajax来实现~你那样调用是不可能达到你要的效果~~~

说句实话楼主别生气:你连了解ASP的程度都达不到~
cattleman 2009-01-12
  • 打赏
  • 举报
回复
where title='"&request.form("titleok")&"'
where title='"&titleok&"'

怎么写对呢?sql语句是夹在JavaScript语句里面的,JavaScript的参数怎么传递给sql呢?
cattleman 2009-01-12
  • 打赏
  • 举报
回复
楼上的。这我测试过了。问题主要在于where title= “这个地方怎么引用。”
杨哥儿 2009-01-12
  • 打赏
  • 举报
回复
你试试:
alert(titleok);
alert(txttitle);
它们都是什么值?
最后查检:alert(sqltitle);
OK
cattleman 2009-01-12
  • 打赏
  • 举报
回复
我判断问题就出在这条sql语句上,怎么把刚刚输入的标题传递过来呢?

sqltitle="select title from mydata where title='"&titleok&"' order by newsid desc" 这样也是不行。试好很多了。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧