js動態控制表單的顯示和隱藏
文章一:
無論是事先寫好的,還是動態生成的,要找到指定的tr或td都必須知道其相關的一個屬性,未必必須是id或name,然後無論是在一個table還是多個 table都可以通過document.getElementsByTagNames( "tr ")或td,取得集合,……再根據知道的屬性再找,最後設定顯示/隱藏
方法一:
document.getElementById( "控制元件ID ").style.visibility= "hidden ";
document.getElementById( "控制元件ID ").style.visibility= "visible ";
方法二:
document.getElementById( "控制元件ID ").style.display= "none ";
document.getElementById( "控制元件ID ").style.display= "inline ";
方法一隱藏後 頁面的位置還被控制元件佔用 只是不顯示 類似於.net驗證控制元件的Display=Static
方法二隱藏後 頁面的位置不被佔用 類似於.net驗證控制元件的Display=Dynamic
我寫的一個根據下拉選單的不同選擇值來顯示下邊的一個input表單的顯示和隱藏
js:
function listchange(){
var sel=document.getElementsByName('tasklist_type');
for(var i=0;i<tasklist_type.options.length;i++)
{
if(tasklist_type.options[i].selected)
{
if(tasklist_type.options[i].value==0){
document.getElementById( "tasklistoriginalno").style.display= "none";
document.getElementById("tasklist_originalno").value = "";
/*上面紅色的這句話用處很大的,因為你想隱藏掉下面的一個表單,那麼這個表單的值也就不需要寫入資料庫了,所以記得在隱藏的同時將被隱藏表單的值清空;當然要是你不嫌麻煩的話在表單的資料提交到php的資料處理頁面的時候對 tasklist_type根據其值是0還是1來行進判斷寫不寫入 tasklist_originalno的值 */
}
if(tasklist_type.options[i].value==1){
document.getElementById( "tasklistoriginalno").style.display= "";
}
}
}
}
html:
<tr height='30'>
<td> <{$lang_tasklist_type}>: </td>
<td>
<select name="tasklist_type" id="tasklist_type" onchange="listchange();return false;">
<option value="null" ><{$lang_tasklist_sel}></option>
<option value="0" ><{$lang_tasklist_common}></option>
<option value="1" ><{$lang_tasklist_supplement}></option>
</select>
</td>
</tr>
<tr height='30' id='tasklistoriginalno'>
<td> <{$lang_tasklist_originalno}>:</td>
<td colspan='3'><input type='text' id='tasklist_originalno' name='tasklist_originalno'/></td>
</tr>
---------------------------------------------------------------------------------------------
上面的程式碼在IE6和FF下都能成功實現效果,但是在IE8下不能得到相應的效果,原因出在在IE8下用上面的程式碼無法獲取到下拉列表的值,經測試下面的程式碼可以:
js
function listchange()
{
var sel=document.getElementsByName("tasklist_type")[0].value; //獲取下拉表單的value值
if(sel=='0')
{
document.getElementById( "tasklistoriginalno").style.display= "none"; //隱藏id為tasklistoriginalno的td
document.getElementById("tasklist_originalno").value = ""; //並將其值賦為空
}
if(sel=='1')
{
document.getElementById( "tasklistoriginalno").style.display= ""; //當下拉表單的值為0時顯示
}
}
下面是測試的例子,也是我在網上看到的,我們將其copy到儲存到一個html頁面中在IE8下開啟,OK:
<!--有表單---->
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<script type="text/javascript">
function optChange(){
var name=document.areaName.area.options[document.areaName.area.selectedIndex].text;
alert(name);
}
</script>
<body>
<form name="areaName">
<select name="area" onchange="optChange()">
<option value="上海">上海</option>
<option value="南京">南京</option>
<option value="北京">北京</option>
<option value="成都">成都</option>
<option value="長沙">長沙</option>
<option value="山西">山西</option>
</select>
</form>
</body>
</html>
<!---無表單--->
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<script type="text/javascript">
function optChange(){
var name=document.getElementsByName("area")[0].value;
alert(name);
}
</script>
<body>
<select name="area" onchange="optChange()">
<option value="上海">上海</option>
<option value="南京">南京</option>
<option value="北京">北京</option>
<option value="成都">成都</option>
<option value="長沙">長沙</option>
<option value="山西">山西</option>
</select>
</body>
</html >
文章二:
<input type=radio name=aa value=yes onclick=bb.style.display='none'>yes
<input type=radio name=aa value=no onclick=bb.style.display='block'>no<br>
<div id=bb style=display:none><input type=text name=cc></div><br>
<input type=button value=submit>
我把程式碼稍稍改動了一點,實際效果如下,主要是標準問題。
顯示 不顯示<script type="text/javascript">
function show(){
document.getElementById("test").style.display = "block";
}
function hide(){
document.getElementById("test").style.display = "none";
}
</script>
<input type="radio" name="group1" value="yes" onchange="show()" />顯示
<input type="radio" name="group1" value="no" onchange="hide()" />不顯示
<div id="test" style="display:none">
<input type="text" />
</div>
相關推薦
js動態控制表單的顯示和隱藏
文章一: 無論是事先寫好的,還是動態生成的,要找到指定的tr或td都必須知道其相關的一個屬性,未必必須是id或name,然後無論是在一個table還是多個 table都可以通過document.getElementsByTagNames( "tr ")或td,取得集合,……
js動態控制表單的tr,td的顯示和隱藏
無論是事先寫好的,還是動態生成的,要找到指定的tr或td都必須知道其相關的一個屬性,未必必須是id或name,然後無論是在一個table還是多個 table都可以通過document.getElementsByTagNames( "tr ")或td,取得集合,……再根據知道
AngularJS 中,通過 radio來控制元素的顯示和隱藏,以及控制表單元素的 disabled
程式碼如下 <lable> <input type="radio" ng-value="true" name="radio-test" ng-model="radioVal
控制窗體的顯示和隱藏
pan nbsp 延時 class pre span win32 隱藏 div 1 import win32con 2 import win32gui 3 import time 4 5 # 找出窗體的編號 6 TIMWin = win32gui.FindW
jQuery---用jq實現控制元件的顯示和隱藏
因為發現這個功能用的比較頻繁,所以分享一下: 先說一下,隱藏控制元件有兩種方式:style="visibility: hidden;"和style="display: none;",個人比較喜歡使用style="display: none;",因為style="visibility: h
擴充套件EasyUI datagrid 增加表頭右鍵選單功能,可動態對列進行顯示和隱藏
mysql關於varchar和text欄位的疑問mysql關於varchar和text欄位的疑問 mysql關於varchar和text欄位的疑問mysql關於varchar和text欄位的疑問 mysql關於varchar和text欄位的疑問mysql關於varchar和t
CSS控制DIV層顯示和隱藏的實現方法
CSS中的display和visibility屬性css中display和visibility可以隱藏和顯示html元素包括DIV層。看起來兩者非常類似,很多人會搞混。下面分別介紹兩者的屬性:display:none|block;display:none;隱藏該html元素,
Android 動畫1--View控制元件的顯示和隱藏效果
顯示動畫 mShowAction = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RE
JS動態生成表單,並新增行雙擊事件
//獲取某一出庫型別某日期所有出庫單 累計金額列表function getOutSheetAmtList(){ var hosnum=$('#hosnum').val(); var sdate=$('#sdate').val();//記賬日期 始 var edate=$('#eda
通過hover簡單控制盒子的顯示和隱藏
<!doctype html> <html> <head> <meta charset="utf-8"> <title>無標題文件</title> <style type="text/
個人筆記 js 02 控制div的顯示及隱藏(js控制iframe的顯示及隱藏)
document.getElementById('divf').style.display=i.style.display=='none'?'block':'none'; //divf為控制顯示
JS控制HTML元素的顯示和隱藏
inline 顯示空白 http str 是否 ava .get ntb tel 利用來JS控制頁面控件顯示和隱藏有兩種方法,兩種方法分別利用HTML的style中的兩個屬性,兩種方法的不同之處在於控件隱藏後是否還在頁面上占空位。 方法1: document.getEl
[Swift通天遁地]二、表格表單-(13)實時調整表單元素的顯示和隱藏
本文將演示如何顯示或隱藏指定的表單區域。 在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】 現在開始編寫程式碼,實現隱藏和顯示錶單區域的功能。 1 import UIKit 2 //首先在當前類檔案中, 3 //引入以及安裝的第三方類庫 4
用JQuery+CSS實現form表單的顯示和隱藏
<form id="f" method="post">登陸<span id="x">X</span><br>username:<input type="text" name="username"><br>password:<inpu
js控制顯示和隱藏 jquery賦值與新增事件
<script type="text/javascript">function yincang1(){ //獲取兩個div var oDiv1=document.getElementById("div1"); //判斷div1是顯示或者
Asp.net 動態控制GridView列的顯示和隱藏
效果圖如下: 說明:當點選Gridview列中的—符號時,該被選列被隱藏掉,自動顯示在下邊的下拉框中,當選中下拉框中的某列時,該列在 在Gridview中又顯示出來 解決方案: 需要在程式中需要引入一個JS
JS 獲取和設定input值,控制表單提交地址
以 JS 注入的方式獲取和設定input域的值: <!doctype html> <html lang="en"> <head> <meta
Android動態控制狀態列以及系統導航欄顯示和隱藏
其實說到沉浸式狀態列這個名字我也是感到很無奈,真不知道這種叫法是誰先發起的。因為Android官方從來沒有給出過沉浸式狀態列這樣的命名,只有沉浸式模式(Immersive Mode)這種說法。而有些人在沒有完全瞭解清楚沉浸模式到底是什麼東西的情況下,就張冠李戴地認為一
js控制文字字數,並能點選顯示和隱藏
很多時候,你不用考慮文字字數的問題,因為和你多地方,如資料庫、後臺控制;都會限制文字字數, 但有時候,比如:你的老闆說,我們現在要做一個簡單的主題介紹單頁,還是要適用於web手機端的;那麼你就有可能會用到以下這段js了,不是特別的複雜,不過一定是實用的。 我寫的很粗糙,大神
安卓(Android )軟鍵盤的控制(顯示和隱藏)
false def gets nbsp bool code 表示 soft 系統 Activity 啟動時軟鍵盤默認狀態 在清單文件(manifest .xml)中可以通過在 Activity 標簽中增加屬性控制軟鍵盤的默認狀態: android:windowSoftIn