问题是这样的,我用一个CheckBox控制一个TextBox的显示,选中则显示,不选中的则不显示。默认情况下是不显示的。当页面提交,页面Check,提交未成功,对提示信息点确定,返回页面后,所有的TextBox都不显示了,但是正确的页面是选中的Checkbox的对应的TextBox应该显示出来的。我觉得他是读取了默认的设置。请大侠赐教!
代码片段如下:
function CheckEvent(chkbox,hdn,txtbox,trMemoID,flg)
{
if(document.getElementById(chkbox).checked)
{
var hdnMark = document.getElementById(hdn).value;
txtSumMark.value = parseInt(txtSumMark.value) + parseInt(hdnMark);
objTxtbox.value = document.getElementById(hdn).value;
//txtbox的下一个兄弟,注意这两个组件之间不能有空格或换行
objTxtbox.nextSibling.value= document.getElementById(hdn).value;
objTrMemo.style.display="block";
objTxtMemo.select(); }
else
{
if(!pattern.exec(objTxtbox.value))
{//取消时,如果不是数字,总和应该减去旧值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.nextSibling.value);
}
else
{//是数字,总和减去新值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.value);
}
objTxtbox.value="";
objTxtbox.nextSibling.value="";
//取得备注textbox对象
objTxtMemo.value="评分备注";
objTrMemo.style.display="none";
}
}<tr>
<td style="width:80%">
<asp:CheckBox ID="MinusItemCB" runat="server" Checked="false"/> <%# Container.ItemIndex + 1%>、
asp:Label ID="MinusItemContent" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.DetailContent") %>'></asp:Label>
<asp:HiddenField ID="MinusItemID" Value='<%# DataBinder.Eval(Container, "DataItem.ID") %>' runat="server" />
<asp:HiddenField ID="MinusMark" Value='<%# DataBinder.Eval(Container, "DataItem.Mark") % >' runat="server" />
</td>
<td style="width:20%">
<asp:TextBox ID="MinusFactMark" runat="server" Width="89%" Text=""></asp:TextBox><asp:HiddenField ID="OldMinusFactMark" runat="server" Value="0"/>
</td>
</tr>
<tr id="trMinusMemo" runat="server" style="display:none">
<td colspan="2">
<asp:TextBox ID="txtMinusMemo" runat="server" TextMode="MultiLine" Rows="3" Width="90%" Text="评分备注"></asp:TextBox></td>
</tr>
代码片段如下:
function CheckEvent(chkbox,hdn,txtbox,trMemoID,flg)
{
if(document.getElementById(chkbox).checked)
{
var hdnMark = document.getElementById(hdn).value;
txtSumMark.value = parseInt(txtSumMark.value) + parseInt(hdnMark);
objTxtbox.value = document.getElementById(hdn).value;
//txtbox的下一个兄弟,注意这两个组件之间不能有空格或换行
objTxtbox.nextSibling.value= document.getElementById(hdn).value;
objTrMemo.style.display="block";
objTxtMemo.select(); }
else
{
if(!pattern.exec(objTxtbox.value))
{//取消时,如果不是数字,总和应该减去旧值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.nextSibling.value);
}
else
{//是数字,总和减去新值
txtSumMark.value = parseInt(txtSumMark.value) - parseInt(objTxtbox.value);
}
objTxtbox.value="";
objTxtbox.nextSibling.value="";
//取得备注textbox对象
objTxtMemo.value="评分备注";
objTrMemo.style.display="none";
}
}<tr>
<td style="width:80%">
<asp:CheckBox ID="MinusItemCB" runat="server" Checked="false"/> <%# Container.ItemIndex + 1%>、
asp:Label ID="MinusItemContent" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.DetailContent") %>'></asp:Label>
<asp:HiddenField ID="MinusItemID" Value='<%# DataBinder.Eval(Container, "DataItem.ID") %>' runat="server" />
<asp:HiddenField ID="MinusMark" Value='<%# DataBinder.Eval(Container, "DataItem.Mark") % >' runat="server" />
</td>
<td style="width:20%">
<asp:TextBox ID="MinusFactMark" runat="server" Width="89%" Text=""></asp:TextBox><asp:HiddenField ID="OldMinusFactMark" runat="server" Value="0"/>
</td>
</tr>
<tr id="trMinusMemo" runat="server" style="display:none">
<td colspan="2">
<asp:TextBox ID="txtMinusMemo" runat="server" TextMode="MultiLine" Rows="3" Width="90%" Text="评分备注"></asp:TextBox></td>
</tr>
解决方案 »
- 未能找到元素“http://schemas.microsoft.com/.NetConfiguration/v2.0:configuration”的架构信息。
- 新手问接口问题, 请各位高人们解惑. 谢谢谢谢..
- 有谁了解易想商城v4.7.1的吗
- Request.Form 的求助
- 如何判断只选择了GridView中的一个CheckBox?
- GridView中使用DDLB下拉列表框时,为什么变为编辑模式时,偶数行不会显示原来的对应数据项
- ==========高手救命啊!!!!!!!!!!!!!
- 如何做实时统计报表啊?想做成Excel格式输出的那种
- 谁有 Telerik.WebControls.RadTreeView 的客户端javascript操作代码?
- 公共类中session问题
- 能用例子谈谈策略模式吗?
- 老是提示我语法过时
<div style="background-color:Gray">
<table class="defaultTable">
<tr>
<td height="12px" align="right">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="javascript:ShowDiv();">显示/隐藏</asp:HyperLink>
</td>
</tr>
</table>
<div id="CL" style="display: block;">
<uc1:CL ID="CL1" runat="server" />
</div>
</div> <script type="text/javascript">
function ShowDiv() {
var Layer_choice; //选择div
if (document.getElementById) { //Netscape 6.x
Layer_choice = eval("document.getElementById('CL')");
}
else { // IE 5.x
Layer_choice = eval("document.all.choice.CL");
}
if (Layer_choice.style.display == 'block') {
Layer_choice.style.display = 'none';
}
else {
Layer_choice.style.display='block'
}
}
</script>
我的方法有点笨,就是写了个showTextbox(),
在数据绑定完,就再执行一遍这个函数。PageLoad函数了也调用。
后来照着5楼的改进了一下。