javascript隐藏和显示元素以及清空textarea
当前希望写一个单选框,选中“paste”则显示粘贴框,选中“upload”则提示选择文件。
因为这两种情况只是显示不同,所以只需要用javascript来进行显示和隐藏。
最后的结果大概这样:
初始时,两个都不选中,所以粘贴框和上传按钮都不存在。

选中Paste Input:粘贴框弹出,有删除按钮和行数计数。(这个在结尾作为彩蛋更新)

选中Upload File:上传按钮出现。(这个中文显示貌似跟随系统,再更新我会改掉 )不会改:)

代码其实naive,如下:
function onClickInputMethod() {
var show = "";
var apm = document.getElementsByName("input_method_option");
for (var i = 0; i < apm.length; i++) {
if (apm[i].checked)
show = apm[i].value;
}
switch (show) {
case "0":
document.getElementById("paste_textarea").style.display = "block";
document.getElementById("upload_file").style.display = "none";
break;
case "1":
document.getElementById("paste_textarea").style.display = "none";
document.getElementById("upload_file").style.display = "block";
break;
default:
document.getElementById("paste_textarea").style.display = "none";
document.getElementById("upload_file").style.display = "none";
break;
}
}
重点是display写none的时候是隐藏,写block的时候是显示:)
我觉得也就是我脑残到写反了:)
另外,在html中,粘贴框和上传文件都要写,并且需要把display设置为none来隐藏。这跟default是无关的,
因为初始时并未点击,所以没有onClickInputMethod()的处理:)
下面贴html代码
<div class="form-group">
<label for="input_method" class="col-sm-2 control-label">Input Method</label>
<div class="radio col-sm-10" name="input_method">
<label><input type="radio" name="input_method_option" value="0" onclick="onClickInputMethod(); checked" />Paste Input</label>
<label><input type="radio" name="input_method_option" value="1" onclick="onClickInputMethod()" />Upload File</label>
<!--hide when upload checked-->
<div class="form-group" style="margin:0.5% 0.5% 1% 0%; display: none;" id="paste_textarea">
<textarea class="form-control" name="paste_input" onkeypress="handleRowNum(event)" id="paste_input" rows="4"></textarea>
<span>
<button type="button" style="margin-top:0.5%;" class="btn btn-primary" onclick="onClickDelete()">Delete</button>
<label>Target Count: <span id="target_count">0</span></label>
</span>
</div>
<!--hide when paste checked-->
<div class="form-group" style="margin:0.5% 0.5% 1% 0%; display: none;" id="upload_file">
<input type="file" name="files" />
</div> </div>
</div>
// 这个代码插入得真丑:)
彩蛋彩蛋
清空textarea只要一行代码:
function onClickDelete() {
$("#paste_input").val("");
// target_count是统计行数的,当然我这里需要统计序列,和行数还不一样。
document.getElementById("target_count").innerHTML = 0;
}
javascript隐藏和显示元素以及清空textarea的更多相关文章
- 通过jquery隐藏和显示元素
通过jquery隐藏和显示元素 调用jquery本身提供的函数 $("xxx").hide();//隐藏xxx $("xxx").show();//显示xxx ...
- 如何通过jquery隐藏和显示元素
以下几种方式可以隐藏一个元素:1,CSS display的值是none.2,type="hidden"的表单元素.3,宽度和高度都显式设置为0.4,一个祖先元素是隐藏的,该元素是不 ...
- arcgis for javascript 隐藏或显示底图
arcgis for javascript展示地图的时候,有图层的概念,一层一层的,类似photoshop,在应用界面上控制图层的显隐,是极常见的功能. 但是,如果是控制底图的显示或隐藏呢,怎么搞? ...
- HTML元素隐藏和显示
在web前端开发过程中,经常会用到隐藏和显示元素的方法 总结:1.通过JS或Jquery控制 2.通过CSS样式控制 一.Js或jquery (jquery为例) 1.隐藏元素 使用 ...
- 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测
如何使用T-SQL备份还原数据库及c#如何调用执行? 准备材料:Microsoft SQL Server一部.需要还原的bak文件一只 一.备份 数据库备份语句:user master backup ...
- jQuery--Dom元素隐藏和显示原理(源码2.0.3)
对于Dom元素显示和隐藏的操作,jQuery提供了比较方便的函数,我们也经常使用: 1. show() : 显示Dom元素2. hide() : 隐藏Dom元素3. toggle() : 改变Dom元 ...
- 基于特定值来推断隐藏显示元素的jQuery插件
jQuery-Visibly是一款小巧简单的jQuery隐藏显示元素插件.该插件依据某个元素的值,例如以下拉框的值.输入框的值等来推断是否显示某个指定的元素. 用于推断的值能够是单个值,或者是多个值, ...
- jQuery控制元素隐藏和显示
1.jQuery隐藏和显示效果 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: $("#hide").click(functio ...
- 【功能代码】---5 JS通过事件隐藏显示元素
JS通过事件隐藏显示元素 在开发中,很多时候我们需要点击事件,才显示隐藏元素.那如何做到页面刚开始就把标签隐藏. 有两种方法: (1) display:none <div id=" ...
随机推荐
- 【Unity3D】用C#读取INI配置文件
由于在C#并没有提供专门读取INI文件的API,所以需要间接调用C++的API来进行读取. using System; using System.Collections.Generic; using ...
- HTTPS和SSL证书
1. HTTPS工作原理 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,(目的是安全的获得对称密钥用户后续传输加密)过程的简单描述如下: a).浏览器讲自己支持的多个加 ...
- 一起来学Spring Cloud | 第一章 :如何搭建一个多模块的springcloud项目
在spring cloud系列章节中,本来已经写了几个章节了,但是自己看起来有些东西写得比较杂,所以重构了一下springcloud的章节内容,新写了本章节,先教大家在工作中如何搭建一个多模块的spr ...
- springboot 学习笔记(九)
springboot整合activemq,实现broker集群部署(cluster) 1.为实现jms高并发操作,需要对activemq进行集群部署,broker cluster就是activemq自 ...
- eclipse 中安装spring tool suite 插件100%成功率
自己曾在学习spring时,在eclipse EE中安装springsourceTool Suite插件浪费了很多时间,不管是离线,在线还是在eclipse marketplace中安装,尝试了许多方 ...
- python之re模块和正则表达式
今天我们来谈谈python中模块的使用,在探讨模块前先来了解一下正则表达式的具体用法. 1.正则表达式 正则表达式就是匹配 字符串内容的一种规则.谈到正则就和字符串相关了,首先我们要知道什么是字符组. ...
- cf1040E. Network Safety(并查集)
题意 题目链接 一张图,n个点,m条边,每个点有个权值x,x<=1e18.如果一条边的两个端点不一样,那么这条边是安全的,开始时所有边都是安全的. 现在有一个病毒y,病毒可以入侵任意的点,入侵一 ...
- Yii2.0 高级版安装 windows
最近在学习yii2.0 在安装高级版的时候遇到一些问题 索性解决了 下面分享一下 一.关于下载 自行百度,在Yii Framework 中文社区 下载专区下载高级应用程序模板(这边下载用电信网络不用下 ...
- Android rxjava2的disposable
rxjava+retrofit处理网络请求 在使用rxjava+retrofit处理网络请求的时候,一般会采用对观察者进行封装,实现代码复用和拓展.可以参考我的这篇文章:rxjava2+retrofi ...
- JFinal常量配置学习笔记
在继承 JFinalConfig 类时,需要 实现 /** * Config constant */ public abstract void configConstant(Constants me) ...