首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取J.S中窗体的所有子元素

获取J.S中窗体的所有子元素
EN

Stack Overflow用户
提问于 2011-06-14 13:51:45
回答 5查看 6K关注 0票数 0

如何获取所有子元素(如单选、复选框、选择、文本等)并使用javascript将它们设置为空白。我的表单有许多其他元素,如table、div等,但我不想更改这些其他元素。

通过表单名称(Frmlist)或表单id(frmlist)获取这些子元素( form元素)并将它们设置为空的任何合适的想法。实际上,我以前不知道表单中有多少个元素,以及这些元素的名称/ids是什么。

非常感谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-14 13:56:22

尝试如下所示:

示例表单:

代码语言:javascript
复制
<form name="data_entry" action="#">
    Company Name: <input type="text" name="company_name">
    Select Business Type: <input type="radio" name="business_category" value="1"> Manufacturer
    <input type="radio" name="business_category" value="2"> Whole Sale Supplier
    <input type="radio" name="business_category" value="3"> Retailer
    <input type="radio" name="business_category" value="4"> Service Provider
    Email Address: <input type="text" size="30" name="email">
    Keep Information Private: <input type="checkbox" name="privacy">
    <input type="button" name="reset_form" value="Reset Form" onclick="this.form.reset();">
    <input type="button" name="clear" value="Clear Form" onclick="clearForm(this.form);">
</form>

示例Javascript:

代码语言:javascript
复制
for (i = 0; i < frm_elements.length; i++) {
    field_type = frm_elements[i].type.toLowerCase();
    switch (field_type) {
    case "text":
    case "password":
    case "textarea":
    case "hidden":
        frm_elements[i].value = "";
        break;
    case "radio":
    case "checkbox":
        if (frm_elements[i].checked) {
            frm_elements[i].checked = false;
        }
        break;
    case "select-one":
    case "select-multi":
        frm_elements[i].selectedIndex = -1;
        break;
    default:
        break;
    }
}

来自Using Javascript to Reset or Clear Form

票数 1
EN

Stack Overflow用户

发布于 2011-06-14 14:23:06

有时我们会忘记旧的解决方案。为什么不在这里丢弃javascript,使用:

代码语言:javascript
复制
<input type="reset" value = "CLEAR all"/>

请参阅this jsfiddle

票数 1
EN

Stack Overflow用户

发布于 2011-06-14 14:00:10

您应该考虑使用jQuery。这就像做以下事情一样简单:

代码语言:javascript
复制
$(':input')
  .not(':button, :submit, :reset, :hidden')
  .val('')
  .removeAttr('checked')
  .removeAttr('selected');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6339601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档