当前希望写一个单选框,选中“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. Web 前端安装依赖的时候遇到的问题

  2. css盒子模型 css3盒子相关样式

    1.内边距(内边距在content外,边框内) 内边距属性: padding          设置所有边距 padding-bottom     底边距 padding-left           ...

  3. Every ending is just a new beginning.

    Every ending is just a new beginning.每次结束都是新的开始.

  4. app开发,H5+CSS3页面布局小tips

    1.inline-block使用后带来的间隔影响 2.竖线的处理 3.ssh公匙 4.星星组件的巧妙用法 5.api.js的$api对象与 安卓原生引擎的api对象,均相当于jQuery的$对象 6. ...

  5. RxJava 1升级到RxJava 2过程中踩过的一些“坑”

    RxJava2介绍 RxJava2 发布已经有一段时间了,是对 RxJava 的一次重大的升级,由于我的一个库cv4j使用了 RxJava2 来尝鲜,但是 RxJava2 跟 RxJava1 是不能同 ...

  6. jquery mmgrid使用

    参考 http://miemiedev.github.io/mmGrid/examples/index.html

  7. LeetCode Add Binary 两个二进制数相加

    class Solution { public: string addBinary(string a, string b) { if(a==""&&b==" ...

  8. C基础的练习集及测试答案(提高题)

    提高题:1.编写程序,随机生成一个1~10内的数,让对方猜3次.如果3次内能猜中则输出“恭喜你”:若3次内猜不中则输出正确答案.C语言中提供生成随机数的函数rand()用法:①所需头文件:#inclu ...

  9. JavaScript: apply , call 方法

    我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家 ...

  10. Liunx开发(Extjs4.1+desktop+SSH2超强视频教程实践)(1)

    下周一出差宁波了,周六日就折腾点视频: 跟着视频教程开发,不过开发环境换linux,上月找工作,某个吉祥物是松鼠的公司要求用linux开发,没用过的,连面试机会都不给,极其高冷:好吧,咱就试试,用li ...