用Ajax判断值是否存在,在线等解

party620 2013-08-24 10:47:25
需要判断输入的值是否存在
在设计页面中的JS代码:
<script type="text/javascript">
function check() {
var val = document.getElementById("ContentPlaceHolder1_txtatps").value;
if (val == "") {
document.getElementById("msg").innerHTML = "<font color='red'>不允许为空</font>";

return;
}
else {
var flag = AddATPS.CheckCode(val).value;
if (flag) {
document.getElementById("msg").innerHTML = "<font color='red'>该编号可用</font>";
}
else {
document.getElementById("msg").innerHTML = "<font color='red'>该编号已存在,请重新填写</font>";
}
}

}
</script>

需要验证的输入框:
 <input id="txtatps" type="text" runat="server" onblur="check()" /><span id="msg"  style="color:Red">*</span>


在.cs中的代码是:
 [AjaxPro.AjaxMethod]
public bool CheckCode(string id)
{
bool flag = false;
flag = DataATPSLayer.GetCount(id);
return flag;
}


当我不输入任何值时,span会提示“不允许为空”,当我输入值时,不会进入else中,不会判断值是否存在
帮忙看下那个地方有错???
(此页面套用的母版页,已引用using AjaxPro命名空间)
...全文
567 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
peng2739956 2013-08-24
  • 打赏
  • 举报
回复
jquery 需要引入 juery 库
party620 2013-08-24
  • 打赏
  • 举报
回复
引用 16 楼 blueskybcl 的回复:

 [AjaxPro.AjaxMethod]
        public bool CheckCode(string id)
        {
            bool flag = false;
            flag = DataATPSLayer.GetCount(id);
            return flag;
        }

DataATPSLayer.GetCount返回的是数量吧,判断下flag,if(flag>0)return true else return false
哦,不是的,DataATPSLayer.GetCount返回的是bool值,是我的方法名起的有问题
party620 2013-08-24
  • 打赏
  • 举报
回复
引用 12 楼 peng2739956 的回复:
纯js ? AJAX 在哪 微软自带的那个类库? 哦 NO 那真心不好用 自己写个ajax控制啊 唉 不玩JS 好多年 现在只玩JQUERY

$("#txtatps").onblur(function(){
   var val =$("#ContentPlaceHolder1_txtatps").val();
   if(val==""){
    $("#msg").htm("<font color='red'>1111</font>");
    }
   if(val!=""){
    var flag=AddATPS.CheckCode(val).value;
    if(flag)
     $("#msg").htm("<font color='red'>该编号可用</font>");
    else
    $("#msg").htm("<font color='red'>该编号不可用</font>");
   }
    
});
如果是进不来的话 那肯定是Val的值不是空 所以进不来else
除了以上代码还需要添加其他东西??为啥提示“缺少对象”
party620 2013-08-24
  • 打赏
  • 举报
回复
HDCrane.Web.AddMachine.AddATPS.CheckCode(val).value; 去掉value,输入任何值时,得到的flag=true,即使数据库存在该值
绿色123 2013-08-24
  • 打赏
  • 举报
回复

[AjaxPro.AjaxMethod]
public bool CheckCode(string id)
{
bool flag = false;
flag = DataATPSLayer.GetCount(id);
return flag;
}


DataATPSLayer.GetCount返回的是数量吧,判断下flag,if(flag>0)return true else return false
绿色123 2013-08-24
  • 打赏
  • 举报
回复
HDCrane.Web.AddMachine.AddATPS.CheckCode(val)返回的已经是bool值了
绿色123 2013-08-24
  • 打赏
  • 举报
回复
HDCrane.Web.AddMachine.AddATPS.CheckCode(val).value;
你后面还.value干啥
party620 2013-08-24
  • 打赏
  • 举报
回复
我把js代码改了,
<script type="text/javascript">
    function check() {
        var val = document.getElementById("ContentPlaceHolder1_txtatps").value;
        if (val== "") {
            document.getElementById("msg").innerHTML = "<font color='red'>不允许为空</font>";
            
            return;
        }
        else {
            var flag = HDCrane.Web.AddMachine.AddATPS.CheckCode(val).value;
            if (flag) {
                document.getElementById("msg").innerHTML = "<font color='red'>该编号可用</font>";
            }
            else {
                document.getElementById("msg").innerHTML = "<font color='red'>该编号已存在,请重新填写</font>";
            }
        }
       
    }
</script>
该过之后,每次得到的flag值都是false,即使新添加的值在数据空中并不存在
peng2739956 2013-08-24
  • 打赏
  • 举报
回复
纯js ? AJAX 在哪 微软自带的那个类库? 哦 NO 那真心不好用 自己写个ajax控制啊 唉 不玩JS 好多年 现在只玩JQUERY

$("#txtatps").onblur(function(){
   var val =$("#ContentPlaceHolder1_txtatps").val();
   if(val==""){
    $("#msg").htm("<font color='red'>1111</font>");
    }
   if(val!=""){
    var flag=AddATPS.CheckCode(val).value;
    if(flag)
     $("#msg").htm("<font color='red'>该编号可用</font>");
    else
    $("#msg").htm("<font color='red'>该编号不可用</font>");
   }
    
});
如果是进不来的话 那肯定是Val的值不是空 所以进不来else
绿色123 2013-08-24
  • 打赏
  • 举报
回复
那你看命名空间对不对,估计你的命名空间不对

namespace a
{
public class b
{
[]
public bool checkcode()
{
}
}
}

这种情况在前端要这样用 a.b.checkcode()
party620 2013-08-24
  • 打赏
  • 举报
回复
恩,提示“AddATPS未定义”
绿色123 2013-08-24
  • 打赏
  • 举报
回复
怎么老打错字,你把ie的调试功能打开看报脚本错误不
绿色123 2013-08-24
  • 打赏
  • 举报
回复
应该不是,我把ie的调试功能打开看报脚本错误不,我刚把你的代码运行了下,发现正常的呀
party620 2013-08-24
  • 打赏
  • 举报
回复
不报错,生产成功,那这么说就不是引用的问题
绿色123 2013-08-24
  • 打赏
  • 举报
回复
check这个都不执行,应该不影响吧,如果你的引用出错,编译就会报错的
party620 2013-08-24
  • 打赏
  • 举报
回复
我添加首先引用的AjaxPro.2.dll程序集,没有出现的Bin文件夹中,是在引用中出现的,这个应该会不会有影响??
party620 2013-08-24
  • 打赏
  • 举报
回复
引用 1 楼 blueskybcl 的回复:
当你输入值时,先调试进去看看val值是多少,如果已经获取到了,然后看看AddATPS.CheckCode方法的命名空间对不对
设置断点发现function check()这个方法没执行,进不去
party620 2013-08-24
  • 打赏
  • 举报
回复
引用 2 楼 guwei4037 的回复:
if (val.length == 0) //判断长度试试看
用If(val.Length==0)判断,span不会提示“不允许为空”
全栈极简 2013-08-24
  • 打赏
  • 举报
回复
if (val.length == 0) //判断长度试试看
绿色123 2013-08-24
  • 打赏
  • 举报
回复
当你输入值时,先调试进去看看val值是多少,如果已经获取到了,然后看看AddATPS.CheckCode方法的命名空间对不对
加载更多回复(5)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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