使用<重置所有字段(复选框、文本、选择);body onload()">

Reset all fields (checkbox, text, select) with <body onload();">

本文关键字:lt 选择 body onload gt quot 文本 字段 使用 复选框      更新时间:2023-09-26

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

我正在尝试使用此

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

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

也试过这个

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

有什么想法吗?

CourseMenu是您的form的ID吗?如果是的话,试试这个:

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

假设您有一个Util对象。我这样做是因为我不仅使用琐碎的html控件,还使用日期选择器和boostrap开关,所以你必须手动完成。我删除了所有额外的代码,让它来处理基本代码,这样你就可以完全控制你要重新设置的内容。。我认为你也可以发送一个contair值,而不是一个表单,并且会像<div>一样工作。

--编辑--你可以像Util.resetForm($("#myid");而不管是form还是其他special tag

你可以从这个开始。。。只需使用加载方法上的函数

尝试一下: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"))
});

您可以添加标记数据ignore="ignore"以不让脚本重置值,这在您不想丢失某些选定的索引时很有用

运行此脚本后,所有select标记都将显示为空白,而不进行任何选择。

//这可以通过开关来改善。。但是,我只是在展示它是如何工作的。。

相关文章: