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=" ...
随机推荐
- 面向对象(OOP)二
一.“魔术”函数 - 自动调用 魔术方法 在面向对象有一些特别的方法,无需特别定义,已自动具备某些功能,例如构造函数__construt,这些方法统称魔术方法,在日后的编程中,可以使用这些方法的特性设 ...
- blog 题解目录
洛谷: 1.P2430 严酷的训练 2.CF784E Twisted Circuit 3.P1886 滑动窗口 4.P1090 合并果子 5.P1119 灾后重建 6.P1690 贪婪的Copy 7. ...
- c语言数据结构:用标志位实现循环队列
#include<stdio.h> #include<stdlib.h> #define MAXSIZE 10//定义队列长度 ;//定义标志位 typedef struct ...
- 用C#来控制高级安全Windows防火墙
有的时候我们需要在自己的产品中检测<高级安全Windows防火墙>的状态,并有可能需要加入一些规则甚至需要关闭掉高级安全Windows防火墙. 下面就告诉如何来做: <高级安全Win ...
- 大数四则运算java(转)
// 大数的四则运算 #include <iostream> #include <string> #include <algorithm> using namesp ...
- 逐步解读String类(一)
一句题外话 面试刚入行的Java新手,侧重基础知识:面试有多年工作经验的老鸟,多侧重对具体问题的解决策略. 从一类面试题说起 考察刚入行菜鸟对基础知识的掌握程度,面试官提出关于String类的内容挺常 ...
- mysqlbench使用
看见不少人问mysqlbench怎么用,这个好像没什么困难的,基本看的懂英文就可以使用了,感觉像使用word一样. 下载地址http://www.mysql.com/products/workbenc ...
- LeetCode Nim Game (简单nim)
题意: 有一堆石子,里面有n个石头,每次可以从中取出1~3个,两人轮流取,最后一个石子被谁取走即为赢家.你先取,问最后谁赢? 思路: n%4>0则先手赢,因为每次总是可以给对方留4个石子的倍数, ...
- c++树的表示方法
c++树的节点的表示方法: typedef struct Node *Tree; struct Node { int data; Node *left; Node *right; int flag; ...
- Producer & Consumer
需要与Eureka结合使用 Eureka环境搭建 Producer 一.pom文件 <?xml version="1.0" encoding="UTF-8" ...