引用了母版页的服务器控件获取元素如下,再者说你getElementById 本身写的就有问题var strTxtName =document.getElementById("<%=tbName.ClientID%>").value;

解决方案 »

  1.   

    模板里面生成的控件id对应的客户端id是会变的protected TextBox objtb;
    protected void Page_load()
    {
         objtb = new TextBox();
          objtb.ID="tbName";
          form1.Controls.Add(objtb);
    this.DataBind();
    }var strTxtName = document.getElementsByID("<%#objtb.ClientID%>").value; 
      

  2.   


    +1你的if和else都没执行,所以你就要想到是if以前的语句出错了,之所以没反应,是浏览器没报出来
      

  3.   

    to #2:
    编译器错误消息: CS0103: 当前上下文中不存在名称“objtb”
      

  4.   

    你的id是tbName,又不是objtb,怎么能找得到?
    var strTxtName =document.getElementById("<%=tbName.ClientID%>").value;
      

  5.   

    to #6:
    在javascript代码里,已经将文本框控件的ID改成了tbName,运行,提示仍然是:
    编译器错误消息: CS0103: 当前上下文中不存在名称“tbName”
      

  6.   

    C#不是这样用的
    首先模板页是不能直接引用子页的控间
    其次 用了c#的服务端控间 在用js控制 那是不顺畅的用法
    还有 解藕原则 一个方法 怎么将未知东西作为常量 如果是该方法输出依赖于该常量 那么这个方法 需要重构
    function test(id){
           document.getelementbyid(id)
    .....
    }........onclicneclick=test(this.id)
      

  7.   

    to KK3K2005:
    我按照你的意思改了,但是check函数里,输出始终是执行else
      <script language="javascript" type="text/javascript">
             function check(id) {
                 var res = document.getElementById(id).value;
                 if (res == "")
                     alert("res");
                 else
                     alert("no");
             }
        </script>无论我文本框是否填写内容,始终挑出来对话框,显示"no"。请提示!
      

  8.   


    首先 进入了 else  那么证明你的  id 指向的 dom 是存在的  不然 第一行就 报错另外  == ""  能说明什么呢?现在 光这个代码 不太看得出你的 业务逻辑 所以我不知道你 的问题是什么如果你觉得  没有按你的想象执行
    那么  你要  
    alert(id);
    alert(res);
    你打印看  这2个 是你期待的数据吗?
      

  9.   

    好吧我又看了下 
    你id不对  你要提供 文本框的id 你现在 提供的  this.id是 按钮的id
    我写 this.id只是给你一个 示例你要获取你的文本框 办法很多  id不行  就用 name  或者 class  或者 其他属性 去获取另外protected void Page_load()
    {
          TextBox objtb = new TextBox();
          objtb.ID="tbName";
          form1.Controls.Add(objtb);
    }这个有什么意义呢?  你在pageload时 无条件的 添加了一个文本框
    那么 和你再页面上 直接 放一个文本框 有什么区别呢? 为了 获取id?(哈哈)如果你要做一个提交前的检验  c# 有自带的 检验功能的组件 你在页面拖一个 文本框  然后拖一个检验组件  绑定 这个文本框
    检验组件设置 你需要的检查(有一个正则检查)  如果 检查不合格  那么 同窗体 其他 控件的提交 将 不会执行
    这个完全不用写代码
      

  10.   

    to KK3K2005:
    我其实要实现的是 :一个网上考试系统,当显示题目的那个页面载入的时候,这些用到的文本框和单选按钮等都是动态生成,而不是在web页里,静态的放上去的。
    就要验证文本框里是否有内容等,就是需要用JS验证。我生成题目的页面是套用母版页的,所有题目都是通过数据表里读取出来的。这是我的业务逻辑。