判断CheckBox是否被选中,.net中javascript取服务器端控件的值
2011-05-05 06:40:01| 分类: asp.net.c# vs|字号 订阅
<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;
}
}