当前希望写一个单选框,选中“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的更多相关文章

  1. 通过jquery隐藏和显示元素

    通过jquery隐藏和显示元素 调用jquery本身提供的函数 $("xxx").hide();//隐藏xxx $("xxx").show();//显示xxx ...

  2. 如何通过jquery隐藏和显示元素

    以下几种方式可以隐藏一个元素:1,CSS display的值是none.2,type="hidden"的表单元素.3,宽度和高度都显式设置为0.4,一个祖先元素是隐藏的,该元素是不 ...

  3. arcgis for javascript 隐藏或显示底图

    arcgis for javascript展示地图的时候,有图层的概念,一层一层的,类似photoshop,在应用界面上控制图层的显隐,是极常见的功能. 但是,如果是控制底图的显示或隐藏呢,怎么搞? ...

  4. HTML元素隐藏和显示

    在web前端开发过程中,经常会用到隐藏和显示元素的方法 总结:1.通过JS或Jquery控制          2.通过CSS样式控制 一.Js或jquery (jquery为例) 1.隐藏元素 使用 ...

  5. 如何使用T-SQL备份还原数据库及c#如何调用执行? C#中索引器的作用和实现。 jquery控制元素的隐藏和显示的几种方法。 localStorage、sessionStorage用法总结 在AspNetCore中扩展Log系列 - 介绍开源类库的使用(一) span<T>之高性能字符串操作实测

    如何使用T-SQL备份还原数据库及c#如何调用执行? 准备材料:Microsoft SQL Server一部.需要还原的bak文件一只 一.备份 数据库备份语句:user master backup ...

  6. jQuery--Dom元素隐藏和显示原理(源码2.0.3)

    对于Dom元素显示和隐藏的操作,jQuery提供了比较方便的函数,我们也经常使用: 1. show() : 显示Dom元素2. hide() : 隐藏Dom元素3. toggle() : 改变Dom元 ...

  7. 基于特定值来推断隐藏显示元素的jQuery插件

    jQuery-Visibly是一款小巧简单的jQuery隐藏显示元素插件.该插件依据某个元素的值,例如以下拉框的值.输入框的值等来推断是否显示某个指定的元素. 用于推断的值能够是单个值,或者是多个值, ...

  8. jQuery控制元素隐藏和显示

    1.jQuery隐藏和显示效果 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: $("#hide").click(functio ...

  9. 【功能代码】---5 JS通过事件隐藏显示元素

    JS通过事件隐藏显示元素 在开发中,很多时候我们需要点击事件,才显示隐藏元素.那如何做到页面刚开始就把标签隐藏. 有两种方法: (1) display:none    <div id=" ...

随机推荐

  1. Git远程推送文件太大的error解决

    error: RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errfno 10054 方法1: 改成ssh推送 方法2: 把推送的缓 ...

  2. [COGS 347]地震

    时间限制:4 s   内存限制:128 MB 问题描述 某国地形狭长,中部有一列山脉,由于多发地震,山脉在不断变化中.地震发生时,山脉有可能发生如下变化:局部海拔升高或降低,板块运动产生地裂而出现一段 ...

  3. CentOS yum安装mcrypt

    CentOS yum安装mcrypt   本篇排错的前提是只想用yum安装,不想使用源码包编译安装. php依赖一下包:   #yum install libmcrypt libmcrypt-deve ...

  4. CentOS6.5 环境安装配置

    一.GO环境配置 1.运行命令进入/usr/local/src目录:cd /usr/local/src 2.下载安装包:运行wget --no-check-certificate https://st ...

  5. 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite )(转载)

    本文转自http://www.cnblogs.com/zery/p/3315889.html 对于文件夹,文档的操作一直处于一知半解状态,有时间闲下来了,好好练习了一把,对文档,文件的操作有了一个基本 ...

  6. python起源,变量,用户交互,流程语句

    1.Python的起源 Python是一门解释型弱类型编程语言. 特点:简单.明确.优雅 2.Python解释器 CPython官方提供的, 内部使用C语言来实现 PyPy,一次性把我们的代码解释成字 ...

  7. Oracle 用户相关

    1.查询所有未修改过密码的Oracle用户 SELECT * FROM dba_users_with_defpwd d, dba_users du WHERE du.account_status = ...

  8. 创建一个自己的GitHub,创建自己的开源项目

    作者是一个大学在读学生,自己在平时的学习中,GitHub上的开源项目给自己提供了很大的帮助.GitHub是目前使用最广泛的分布式项目管理软件,GitHub上面托管了许多非常优秀的开源项目.我觉得每一个 ...

  9. [转]Tomcat日志详解

    Tomcat下相关的日志文件: 1.Cataline引擎的日志文件,文件名为catalina.{date}.log 2.Tomcat下内部代码丢出的日志,文件名为localhost.{date}.lo ...

  10. Centos6.5安装部署nodejs

    使用编译好的包安装 一.在官网下载包 https://nodejs.org/en/download/ 二.把包传送到服务器,进入到包目录并解压 tar axvf node-v6.9.5-linux-x ...