2014-12-06 61 views
0

我有两个单选按钮。如果其中一个被选中,文本框将被激活并获取数据。 他们在更新页面。在页面加载中填充数据库中的数据,然后检查ispostback。 如果文本框在页面加载时有文字,文字变化和一切正常,但如果它没有文字在第一位,它保持默认文本,并不会在提交按钮点击更新。文本框中的文本不会更新提交按钮单击

String val = "0"; 
    if (radiobutton2.Checked && textbox1.Text.Length != 0) 
      val = textbox1.Text; 
在页面加载

使用此代码初始化单选按钮:

t.ReadOnly = true; 
    t.BackColor = System.Drawing.Color.Gray; 

而且也为有活性的JavaScript代码和非活动本框

function CheckedChanged(rbtnelement, txtelement) { 
        if (document.getElementById(rbtnelement).checked) { 
         document.getElementById(txtelement).readOnly = false; 
         document.getElementById(txtelement).style.backgroundColor = "white"; 
        } 
        else { 
         document.getElementById(txtelement).readOnly = true; 
         document.getElementById(txtelement).style.backgroundColor = "grey"; 
        } 
       } 
+0

if(radiobutton2.Checked) if(textbox1.Text.Length!= 0) val = textbox1.Text;你这是什么意思? – 2014-12-06 07:26:10

+0

我无法得到你?实际上你想达到什么?如果你的textbox1没有文字,那么你想保存一个默认值?是这样吗? – 2014-12-06 07:28:41

+0

有更大的代码,我削减了大部分,但我想要保存文本框的文本,如果它有任何文本和radiobutton2检查。我编辑我的问题 – user4002899 2014-12-06 07:51:08

回答

0

这是因为文本框只读属性为假在C#代码(它运行在服务器端),它变成了真正的JavaScript(它在客户端运行)。在服务器端(C#代码)文本框保持只读,不发送其文本。

如果删除其中一个并在一侧(客户端或服务器)管理文本框,它将正常工作。

相关问题