使用重置所有字段(复选框,文本,选择)

时间:2013-07-19 20:20:14

标签: javascript page-refresh

我正在尝试清除页面上的所有字段,但我不想要重置按钮。我只想让人们点击F5,刷新等等。

我正在尝试使用此功能......

<body onload="MM_preloadImages('../images/PrintButtonWhite.png'); document.CourseMenu.reset();">

清除我的整个复选框,下拉菜单和文本框。它不起作用。

也尝试了这个......

<script type="text/javascript">document.CourseMenu.reset();</script>

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

CourseMenuform的ID吗?如果是这样,试试这个:

document.getElementById('CourseMenu').reset();

答案 1 :(得分:0)

假设你有一个Util对象。我这样做是因为我不仅使用了琐碎的html控件,而且还使用了datepicker和boostrap开关,所以你必须手动完成。我删除所有额外的代码并让我们使用基本的,你可以完全控制你正在重置的内容..我认为你也可以发送一个包含值而不是一个表单,并且会像<div>一样工作测试

- 编辑 - 您可以像Util.resetForm($(“#myid”))一样发送汇合器;没有关怀form或其他special tag

你可以从这开始......只需使用onload方法上的函数

亲自尝试:http://jsfiddle.net/ncubica/DGMAC/

function reset(objectHTML) {
    objectHTML.find("input, textarea,select").not("input[type=submit]").each(function (_index, _item) {
        //field is going to evalute ?        
        if (typeof $(_item).attr("data-ignore") === "undefined") {             
            switch(_item.type){
                case "text":
                    $(_item).val("");
                    break;
                case "checkbox":
                    $(_item).removeAttr("checked");                    
                    break;
                case "select":
                    $(_item).prop("selectedIndex", -1);                    
                    break;
            }
        }
    });
};

$("#test").one("click",function(){
  reset($("#myform"))
});

你可以添加标签data-ignore =“ignore”,不要让脚本重置这个值,当你不想丢失某些选择的索引时这很有用

运行此脚本后,所有select标记都将显示在空白处,而不对其进行任何选择..

//这可以通过开关改进..但是,我只是展示它是如何工作的..