注册 登录
编程论坛 JavaScript论坛

请教一个js返回原来状态的问题?

gu_tong2008 发布于 2010-10-12 10:37, 758 次点击
怎样用javascript实现返回一个页面的表单控件原来的状态?就是说如果我的一个页面的表单的下拉菜单原来的值是8,当我选择另外一个值的时候校验出这个值不合法,此时怎样用js实现保留原来的状态,即此时下拉菜单的选择值仍为8,而不是另外选择的不合法的值!
3 回复
#2
gameohyes2010-10-12 13:26
这样行不
程序代码:
<select name="t" onchange="va()">
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
</select>
<SCRIPT LANGUAGE="JavaScript">
    function va(){
        //进行嵌套验证,假如不通过
        document.getElementById('t').value='8';
        alert(document.getElementById('t').value);
    }
</SCRIPT>
#3
pigzee2010-10-12 14:27
嘿嘿,盗用版主的代码
程序代码:
<select name="t" onchange="va()">
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
    </select>
<SCRIPT LANGUAGE="JavaScript">
    var begin = document.getElementById('t').value;
    function va(){
        //验证是否是8或者9
        var result = document.getElementById('t').value;
        if(result != 8 && result != 9 ){
             alert('no 8  And  no 9!');
             document.getElementById('t').value = begin;
             return ;
        }else{
             begin = document.getElementById('t').value;
        }
    }
</SCRIPT>

但是这样存在一个问题,就是在select中会切换到错误的值,然后提示,用户点击提示,然后返回到初始值。
有没有一种方法,给用户的感觉是正确了再切换,也就是给用户提示的时候,select中选中的还是初始值?
高手指点下

[ 本帖最后由 pigzee 于 2010-10-12 14:53 编辑 ]
#4
sclorg2010-11-19 10:57
alert('no 8  And  no 9!');
document.getElementById('t').value = begin;
2行换一下
1