创建重置并重新加载全局函数

时间:2015-10-26 14:51:41

标签: javascript jquery

我正在尝试创建一个函数,它将清除同一页面上的所有表单(输入和选择)并重新加载全局窗口(刷新页面),并且可以在我的JavaScript或JQUERY中的任何位置调用。如何使其全局化以便可以在任何地方使用?

function resetAndReload () {
    $('#myform')[0].reset();
    $('#myform1')[0].reset();
    $('#myform2')[0].reset();
    $('#myform3')[0].reset();
    window.location.reload();
    }

$(document).ready(function () {

    $("#button").click(function(){
        resetAndReload();
    });

});

1 个答案:

答案 0 :(得分:3)

使用纯Javascript,它就像这样简单:

dy

您可以将其包装在全局函数中:

for(var i = 0, f = document.querySelectorAll('form'); i < f.length; i++) 
    f.item(i).reset()

通过传递选择器,您甚至可以定位特定的表单:

function resetForms(selector){
    for(var i = 0, f = document.querySelectorAll(selector || 'form'); i < f.length; i++) f.item(i).reset()
}

resetForms('#myFormWithId');

此外,重新加载窗口 已经是一个全局函数,绑定到resetForms('.registration form[data-resetable]'); 对象,为什么不按原样调用它?你不需要在这里重新发明轮子。

更新

正如@Stryner在评论中提到的,如果你正在重新加载,你可以通过将window.location bool标志传递给重载函数来强制它重新加载服务器获取的页面版本:true - 这也应该清除你的表格。