js重置form表单

Posted Marydon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js重置form表单相关的知识,希望对你有一定的参考价值。

CreateTime--2017年7月19日10:37:11
Author:Marydon

js重置form表单

需要使用的方法:reset()

示例:

  html部分

<form id="test">
    <input id="test2" type="hidden" value="2"/>
    <textarea>测试是否会重置文本域,默认带值的不会被清空</textarea>
    <textarea id="test3"></textarea>
            测试手工录入<input type="text" value=""/>
    <input type="text" value="设置初始值" id="test4"/>        
    <input type="button" value="重置" onclick="testReset();"/>
    <input type="button" value="赋值" onclick="assignment();"/>
    <select>
        <option value="">请选择</option>
        <option value="" selected>测试是否会重置下拉框</option>
        <option value="">下拉框选中选项会被还原</option>
    </select>
    <!-- 经测试该值不会被还原 -->
    <input id="test5" type="hidden" value="测试隐藏域通过js改变后会不会还原"/>
</form>

  javascript部分

function testReset () {
    document.getElementById("test").reset();
    alert($(‘#test5‘).val());
}
function assignment () {
    $(‘#test3‘).val(‘通过js赋值或手工录入的信息都会被清空!‘);
    $(‘#test4‘).val(‘改变初始值‘);
    $(‘#test5‘).val(‘5‘);
    alert($(‘#test5‘).val());
}

经测试,总结:

  1.特别注意:reset()方法实现的效果是还原,而不是重置(清空);

    例:带默认值的form表单标签(如:textarea,文本框),经用户修改后,调用重置方法,会被还原成初始值(默认值);

      调用重置方法后,下拉框会选中初次加载页面时选中的选项。

  2.重置reset()对隐藏域无效,即不会对隐藏域进行还原处理,隐藏域通过js改变后不会被还原;

  3.准确地说,jQuery没有重置form表单的方法,$(‘#test‘)[0].reset(),这种重置form表单的方法还是通过js实现的,因为:$(‘#test‘)[0]会将jQuery元素转换成dom元素。

 

以上是关于js重置form表单的主要内容,如果未能解决你的问题,请参考以下文章

(vue.js)element ui 表单重置

用js代码清空表单数据

form resetFields没有清空的原因

Drupal 自定义表单记住文本字段数据

重置只是清空表单内容吗?涉及重新查找吗

Iview-form表单的重置