当前位置:编程学习 > C#/ASP.NET >>

送100分 ,在线调试,在线等 checkbox 激活 button


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx.cs" Inherits="Default6" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <SCRIPT LANGUAGE="JavaScript">
function Disab() {
//frm=document.forms[0]
if(!document.getElementById('cbox').checked) 
{document.getElementById('Button1').disabled=true}
else {document.getElementById('Button1').disabled=false}
}
</SCRIPT>
</head>
<body>
    <form id="form1" runat="server">
 
    
    <div align="center"> 
<input name="cbox" type="checkbox" id="cbox" value="checkbox" onClick=Disab();>
Click here to Enable/Disable Button</div>
<p align="center"> 
<input type=button   runat="server" value="Button" name="Button1" id="Button1" onserverclick="Button1_ServerClick">
    
    
 
    </form>
</body>
</html>


对应的后台代码如下:

using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default6 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_ServerClick(object sender, EventArgs e)
    {

    }
}


问题所在:前台页面Button中runat="server"属性去掉后,运行正确;
我想加上这句runat="server"执行不报错,就算解决问题;
小弟愚钝,来这里请大哥大姐不吝指教;问题解决,百分随即送出;在线等,在线调试
谢谢!谢谢 --------------------编程问答-------------------- 你现在服务器端的代码都没有做任何动作,改成RUNAT="SERVER"肯定没效果了
--------------------编程问答-------------------- 加runat="server"报什么错 ? --------------------编程问答-------------------- starttime.removeAttribute("disabled"); --------------------编程问答-------------------- 把Buttong改成Server端控件
<asp:button id="bt_Employee" runat="server" Width="24px" Text="..."> --------------------编程问答-------------------- 是不是

function Disab() {
//frm=document.forms[0]
if(!document.getElementById('cbox').checked) 
{document.getElementById('Button1').disabled=true}
else {document.getElementById('Button1').disabled=false}
}


写错了
楼主写的是当多选框选中时候启用Button1
没有选中的时候禁用Button1

如果确实是这个效果
经过试验代码没有问题 --------------------编程问答-------------------- 帮顶 --------------------编程问答--------------------
引用 5 楼 oranrry 的回复:
是不是 

HTML code
function Disab() {
//frm=document.forms[0]
if(!document.getElementById('cbox').checked) 
{document.getElementById('Button1').disabled=true}
else {document.getElementById('Button1').disabled=false}
}




写错了 
楼主写的是当多选框选中时候启用Button1 
没有选中的时候禁用Button1 

如果确实是这个效果 
经过试验代码没有问题


能够客户端实现就客户端实现,减轻服务器的负载 --------------------编程问答-------------------- 总述:想实现当用户注册时,选中checkBox是Button有效;一个简单脚本;

回1楼:有动作后有了结果

回2楼:报错如下:

回3楼:您的语句,我不知道怎么用,惭愧;请不吝赐教

回4楼:您说的,我已经做了

回5楼:单独页是没有问题,但放到其他页里就有问题了

报错如下:
===========================================================================================
网页脚本错误

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; CIBA; IE7Pro)
时间戳: Tue, 13 Jan 2009 04:18:06 UTC

消息: 'document.getElementById(...)' 为空或不是对象

消息: 对象不支持此属性或方法 --------------------编程问答-------------------- WebForm1.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Web.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Untitled Page</title>

    <script language="JavaScript">
function Disab() {
//frm=document.forms[0]
if(!document.getElementById('cbox').checked) 
{document.getElementById('Button1').disabled=true}
else {document.getElementById('Button1').disabled=false}
}
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div align="center">
        <input name="cbox" type="checkbox" id="cbox" value="checkbox" onclick="Disab();">
        Click here to Enable/Disable Button</div>
    <p align="center">
        <input type="button" runat="server" disabled="disabled" value="Button" name="Button1" id="Button1" onserverclick="Button1_ServerClick">
    </form>
</body>
</html>



WebForm1.aspx.cs
using System;

namespace Web
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Button1_ServerClick(object sender, EventArgs e)
        {
            Response.Write("点击了 Button1");
        }

    }
}
--------------------编程问答-------------------- document.getElementById(...)' 为空或不是对象 
哈哈
老实交代,你的button是不是放在一个用户控件里了

服务端控件是会在客户端生成ClientId的,这个id才是并不会一定是 button1 了
--------------------编程问答-------------------- 解决办法:

js脚本:
function Disab( btnid ) {
//frm=document.forms[0]
if(!document.getElementById('cbox').checked) 
{document.getElementById(btnid).disabled=true}
else {document.getElementById(btnid).disabled=false}
}

页面的page_load代码:
        protected void Page_Load(object sender, EventArgs e)
        {
Button1.Attributes["onclick"] = string.Format("Disab('{0}')",Button1.ClientId);
        }
--------------------编程问答-------------------- 单独一个页面已经调试通过了,你把这段放在什么地方了。 --------------------编程问答-------------------- 谢谢大家,明天来了接着调试,我一定把分加到100;论功行赏. --------------------编程问答-------------------- 放在Updatepanel里了 --------------------编程问答-------------------- 放在panel里了,那你看下最后生成出来的html代码,你的button的id还是button1吗?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,