选项元素的空值

时间:2010-10-03 10:34:08

标签: javascript

我遇到类似我的旧problem的问题。

我的代码:

function reset_admin()
{
    a = document.getElementById('event').value;
    t = document.getElementById('category').value;
    document.getElementById('admin').reset();
    document.getElementById('event').value = a;
    document.getElementById('category').value = t;
}
<form id="admin" action="iframe_admin.php" onsubmit="" method="post" target="iframe_admin">
.....
<input type="button" class="filter_button" id="Clear" name="Clear" value="Clear" 
onclick="reset_admin();document.getElementById('admin').submit(); />

该函数在外部js文件中。 建议是按下清除后,事件和类别将在明确之前保持不变。

在ff中它有效。在IE中,事件和类别为空,而不是页面堆叠。 我试着这样做:

function reset_admin()
{
    a = document.getElementById('event').options[getElementById('event').selectedIndex].value;
    t = document.getElementById('category').options[getElementById('category').selectedIndex].value;
    document.getElementById('admin').reset();
    document.getElementById('event').value = a;
    document.getElementById('category').value = t;
}

但这也不行。

谢谢你!

1 个答案:

答案 0 :(得分:0)

存储并恢复selectedIndex,因为您不关心实际值,如下所示:

function reset_admin()
{
    var a = document.getElementById('event').selectedIndex,
        t = document.getElementById('category').selectedIndex;
    document.getElementById('admin').reset();
    document.getElementById('event').selectedIndex = a;
    document.getElementById('category').selectedIndex = t;
}

我还将var添加到您提取的索引中,只是关于那里的全局变量,但这不是重要的更改,而是将selectedIndex设置为:)

You can give it a try here