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

本文关键字:表单 元素 默认值 设置 asp net | 更新日期: 2023-09-27 18:32:21

我想弄清楚用户是否对页面进行了任何更改。以下是我为此所做的工作。我正在访问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。

如何设置选中的单选按钮= 假和下拉列表选定= 真。

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

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

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

编辑:下拉选项上的选择属性也是如此