在asp.net中设置表单元素的默认值

时间:2013-09-23 11:56:49

标签: c# javascript jquery asp.net

我想弄清楚用户是否对页面进行了任何更改。 以下是我为实现这一目标所做的工作。 我正在访问javascript中的asp.net表单元素,如下所示

var _totalElementsPresent = document.getElementById("aspnetForm").elements.length;
for( var i=0;i<_totalElementsPresent;i++)
  {
var _formObject = document.getElementById("aspnetForm").elements[i];
  switch(_formObject.type)
    { 

case 'select-one' :
        case 'select-multiple':
                    for (var j = 0; j < _formObject.options.length; j++) 
                    {
                    if (_formObject.options[j].selected !=_formObject.options[j].defaultSelected)
                    _flag = 1;        
                    }


  case 'radio' :
                    if (_formObject.checked != _formObject.defaultChecked) 

我将单选按钮设置为false,如下所示

<asp:RadioButton ID="CopyRadioButton" runat="server" Text="Copy"
                                    Checked="false"/>

但_formObject.defaultChecked将设置为true。

如何设置单选按钮checked = false并选择下拉列表= true。

1 个答案:

答案 0 :(得分:1)

问题在于你的if语句:请记住,如果输入没有“checked”属性,_formObject.checked将是未定义的。 (缺少属性是指示未检查输入的有效方式)尝试切换if语句:

if (_formObject.checked == _formObject.defaultChecked) 
{
    // the value has not changed
}
else
{
    // the value has changed
}

编辑:下拉选项

上的select属性也是如此