4

我有一个具有当前选项的选择字段,并且我有一个 php 脚本检查 mysql 数据库并向当前正在使用的数据库添加一个选择标记。

我需要找到一种方法来知道用户是否在提交之前更改了选择字段。

var Access = document.forms[UIDF]["Access"].value;
var DAccess = document.forms[UIDF]["Access"].defaultIndex; <--- This is my problem. I just need to know how to get the selected option value as this keep changing with every user

<select name="Access">
  <option value="0" selected='selected'>Employee</option>
  <option value="1">Team Leader</option>
  <option value="2">Admin</option>
</select>
4

1 回答 1

3

Option标记有一个 javascript 属性defaultSelected,如果该选项在页面加载true时具有值,则该属性设置为。selected请注意,这是option标签而不是标签select,因此您必须遍历选项并检查属性。

就像是

var DAccess;
var AccessSelect = document.forms[UIDF]["Access"];

for (var i = 0 ; i<AccessSelect.length ; i++)
{
    if (AccessSelect[i].defaultSelected)
        DAccess = AccessSelect[i].value;
}

或者,更重要的是:

var AccessHasChanged = false;
var AccessSelect = document.forms[UIDF]["Access"];

for (var i = 0 ; i<AccessSelect.length ; i++)
{
    if (AccessSelect[i].defaultSelected && 
        AccessSelect.value != AccessSelect[i].value)
        AccessHasChanged = true;
}
于 2012-11-04T02:52:35.497 回答