判断CheckBox是否被选中,.net中javascript取服务器端控件的值

判断CheckBox是否被选中,.net中javascript取服务器端控件的值  

2011-05-05 06:40:01|  分类: asp.net.c# vs|字号 订阅

html:

<asp:CheckBox ID="cbAgree" runat="server" Text="我同意……" Checked="True" />

javascript:

function chkagree() {
          if(document.getElementById("cbAgree").checked!= true)
            {
                alert("您还没同意……!");
                return false;  
            }
        }

 用jquery的写法:
head中引入:
<script type="text/javascript" src="/js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="/js/jquery_ajax.js"></script>

方法:

function chkagree() {
          if($("#cbAgree").attr("checked")!= true)
            {
                alert("您还没同意……!");
                return false;  
            }
        }

几种常见错误:

if(document.getElementById("cbAgree").Checked!= true),不可以大写。

if(document.getElementById("cbAgree").attributes("Checked")!= true)

 

javascript取服务器端控件的值:

js:
var uname = document.getElementById("myName").value;
html:
<asp:TextBox runat="server" type="text" id="myName" ></asp:TextBox>

.net为服务哭控件添加javascript事件的方法:

在cs中:

protected void Page_Load(object sender, EventArgs e)
    {
        myName.Attributes["onblur"] = "checkName()";
    }

关于js属性

attributes:获取一个属性作为对象
getAttribute:获取某一个属性的值
setAttribute:建立一个属性,并同时给属性捆绑一个值
createAttribute:仅建立一个属性
removeAttribute:删除一个属性
getAttributeNode:获取一个节点作为对象
setAttributeNode:建立一个节点
removeAttributeNode:删除一个节点
attributes可以获取一个对象中的一个属性,并且作为对象来调用,注意在这里要使用“[]”,IE在这里可以使用“()”,考虑到兼容性的问题,要使用“[]”。关于attributes属性的使用方式上,IE和FF有巨大的分歧,在此不多介绍。
attributes的使用方法:(IE和FF通用)
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.getElementById("sss").attributes["value"];
document.write(d.name);
document.write(d.value);
//显示value aaa
</script>
 

Attribute相关内容介绍
getAttribute,setAttribute,createAttribute,removeAttribute四兄弟的概念比较容易理解,使用方法也比较简单,唯一需要注意这几点:
1、createAttribute在使用的时候不需要基于对象的,document.createAttribute()就可以。
2、setAttribute,createAttribute在使用的时候如果是使用的时候不要使用name,type,value等单词,IE都FF的反应都奇怪的难以理解。
3、createAttribute在使用的时候如果只定义了名字,没有d.nodeValue = "hello";语句定义值,FF会认为是一个空字符串,IE认为是undefined,注意到这点就可以了。
getAttribute的使用方法:
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.getElementById("sss").getAttribute("value");
document.write(d);
//显示 aaa
</script>
 
setAttribute的使用方法:(你会发现多了一个名为good的属性hello)
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.getElementById("sss").setAttribute("good","hello");
alert(document.getElementById("t").innerHTML)
</script>


<strong>createAttribute的使用方法:(多了一个名为good的空属性)</strong>
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.createAttribute("good");
document.getElementById("sss").setAttributeNode(d);
alert(document.getElementById("t").innerHTML)
</script>
 
removeAttribute的使用方法:(少了一个)

<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.getElementById("sss").removeAttribute("value");
alert(document.getElementById("t").innerHTML)
</script>
 
getAttributeNode,setAttributeNode,removeAttributeNode三个方法的特点是都直接操作一个node(节点),removeAttributeNode在一开始的时候总会用错,但是充分理解了node的含义的时候,就能够应用自如了。
<strong>getAttributeNode的使用方法:</strong>
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.getElementById("sss").getAttributeNode("value"); 
document.write(d.name);
document.write(d.value);
//显示 value aaa
</script>
 

setAttributeNode的使用方法:
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.createAttribute("good");
document.getElementById("sss").setAttributeNode(d);
alert(document.getElementById("t").innerHTML);
</script>
 
removeAttributeNode的使用方法:
<body>
<div id = "t"><input type = "hidden" id = "sss" value = "aaa"></div>
</body>
<script> 
var d = document.getElementById("sss").getAttributeNode("value")
document.getElementById("sss").removeAttributeNode(d); 
alert(document.getElementById("t").innerHTML);
</script>

 

关于取服务器端控件的值:

多数的 控件他的值都可以通过js调用它的 value属性来获得此控件的值,但是也有例外的情况:如 Label控件,他的值用js就不能通过value属性来获得。

1.Label控件 js获取的实例:

var text= document.getElementById(("<%=this.Label1.ClientID%>").innerText;

假如这样: var text= document.getElementById(("<%=this.Label1.ClientID%>").value; 则 text 为Undefined。

2.TextBox 的值----就可以

var text= document.getElementById("<%=this.TextBox1.ClientID%>").value ;

解释:因为服务器控件render到客户端的时候如果有panel或者masterpage那么ID是会变的,应该用document.getElementByID('<%=Textbox1.ClientID%>');这样无论怎样都能获取到textbox。label了

对于,RadioButtonList 与 DropDownList 他们的获取方式是大不一样的! 这主要是因为 他们所生成的 html元素不一样。

3.DropDownList 的值获取:

var ddlvalue = document.getElementById('ctl00_Contentplaceholder3_ddlFolws').value;
       

4.RadioButtonList 的值获取 就比较麻烦:

        var value = "";

        var Result = document.getElementsByName('ctl00$Contentplaceholder3$rblResult');
        for (var i = 0; i < Result.length; i++) {
            if (Result.item(i).checked) {
                value = Result.item(i).value;
            }
        }

如果 RadioButtonList 控件 没有一个选择的 那么 value的值 为空!

=======关于substring 用法(字符串截取)======

function SubstringDemo(){
var ss;                      // 声明变量。
var s = "The rain in Spain falls mainly in the plain..";
ss = s.substring(12, 17); // 取子字符串。
return(ss);                   // 返回子字符串。
}

========================================

示例:

protected void Page_Load(object sender, EventArgs e)
        {
            this.Drop1.Attributes.Add("onblur", "javascript:document.getElementById('TextBox5').value=(this.options[this.selectedIndex].text).concat('FFFF');");
            this.TextBox5.Attributes.Add("onfocus", "javascript:this.value=parseInt(document.getElementById('Drop1').value)+parseInt(document.getElementById('Drop2').value)");
            this.ListBox1.Attributes.Add("onchange", "javascript:listclick1();return false;");
            this.ListBox2.Attributes.Add("onchange", "javascript:listclick2();return false;");
        }

--------------

<script language="javascript" type="text/javascript">   
    function listclick1()
    {
        var listBox1=document.getElementById("ListBox1"); 
        var listBox2=document.getElementById("ListBox2");
        var index1 = listBox1.selectedIndex; 
        var index2 = listBox2.selectedIndex;

        if(index1!=-1 && index2!=-1)
        {
            var num=parseInt(document.getElementById("listBox1").value)+parseInt(document.getElementById("listBox2").value);
            var ss=document.getElementById("TextBox3").value.substring(3,12);
            var i = (''+num).length;
            while (i++ < 2) num = '0' + num;
            num='B'+num+ss;
            document.getElementById("LBcode").innerText=num;
        }
    }
      function listclick2()
    {
        var listBox1=document.getElementById("ListBox1"); 
        var listBox2=document.getElementById("ListBox2");
        var index1 = listBox1.selectedIndex; 
        var index2 = listBox2.selectedIndex;

        if(index1!=-1 && index2!=-1)
        {
            var num=parseInt(document.getElementById("listBox1").value)+parseInt(document.getElementById("listBox2").value);
            var ss=document.getElementById("TextBox3").value.substring(3,12);
            var i = (''+num).length;
            while (i++ < 2) num = '0' + num;
            num='B'+num+ss;
            document.getElementById("LBcode").innerText=num;
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值