送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
如果确实是这个效果
经过试验代码没有问题 --------------------编程问答-------------------- 帮顶 --------------------编程问答--------------------
能够客户端实现就客户端实现,减轻服务器的负载 --------------------编程问答-------------------- 总述:想实现当用户注册时,选中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;--------------------编程问答-------------------- document.getElementById(...)' 为空或不是对象
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");
}
}
}
哈哈
老实交代,你的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#