我有一个具有当前选项的选择字段,并且我有一个php脚本检查mysql数据库,并将select标签添加到当前使用的标签中。

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

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>

最佳答案

如果该选项在页面加载时具有Option值,则defaultSelected标记具有javascript属性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;
}

08-17 08:11