HTML+XHTML+CSS+JavaScript+DOM+AJAX语法及范例实用辞典( 张亚飞 (作者))
JSP中文乱码:
--页面自身编码pageEncoding以及IE访问用编码<%@ page contentType="text/html;charset=GBK" pageEncoding="GBK"%>
--数据传到后台前设子字符编码<%request.setCharacterEncoding("GBK");%>
1.单选按钮
<input type="radio" name="rdo" value="1">1
<input type="radio" name="rdo" value="2">2
<input type="radio" name="rdo" value="5">3
<input type="button" onclick="dispRadio();" style="width: 50px;" value="clicku">
<script type="text/javascript">
/*
Radio
*/
function dispRadio(){
var item_v = document.getElementsByName("rdo");
for(var i =0;i<item_v.length;i++){
if(item_v[i].checked){
alert(item_v[i].value);
}
}
}
</script>
2.复选框和下拉列表
Select:<select name="slt">
<option value="1">1+</option>
<option value="2">2+</option>
<option value="3">3+</option>
</select><br>
SelectAll:<input type="checkbox" name="item_all" onclick="checkAll(this);">
<input type="checkbox" name="item_v">1
<input type="checkbox" name="item_v">2
<input type="checkbox" name="item_v">3
<br>
<input type="text" name="t">
<input type="button" onclick="dispValue();" style="width: 50px;" value="clickme">
<script type="text/javascript">
/*
CheckAll/or False
*/
function checkAll(obj){
var item_v = document.getElementsByName("item_v");
for(var i =0;i<item_v.length;i++){
item_v[i].checked=obj.checked;
}
}
/*
Select
*/
function dispValue(){
var obj = document.getElementById("slt");
alert(obj.options[obj.selectedIndex].value);//获取1
for(var i=0;i< obj.length;i++){
if(obj[i].selected==true){
alert(obj[i].innerText);//1+
alert(obj[i].value);//1
document.getElementById("t").value =obj[i].value;
}
}
</script>
------------------------------------------------------------
JS动态:
表格:
<table border="0" align="center" cellpadding="0" cellspacing="0"
class="tableSty3" >
<tbody id="tb">
<tr><td>已有内容</td></tr>
<tr><td>已有内容</td></tr>
<!--.....add -->
</tbody>
</table>
js:
var tb = document.getElementById("tb");
if(tb.rows.length>2){
tb.deleteRow(2);//先删除增加的第三行 再增加第三行
}
var newtr = tb.insertRow();
newtr.id = "addTr";
var newtd1 = newtr.insertCell();
newtd1.className ="tableSty3-td";
newtd1.width="18%";
newtd1.innerHTML = "当前选择的查询名称";
var newtd2 = newtr.insertCell();
newtd2.width= "10%";
newtd2.innerHTML = "<input type='text' readonly='readonly' value="+rtnQueryId[1]+">";
var newtd3 = newtr.insertCell();
newtd3.colSpan="2";
ajax请求验证:
//封装XMLHTTP
function postform(sJSPFile,sPostData) {
//sJSPFile 为调用的JSP文件名串包括查询参数串
//sSend为SEND的XML字符串
//函数返回HTTP的响应结果
var xmlhttp;
var sRet="";
try{
if(navigator.appName.indexOf("Microsoft")!=-1){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST", sJSPFile,false);
xmlhttp.setRequestHeader("Content-Type","text/xml");
xmlhttp.setRequestHeader("charset","GBK");
xmlhttp.Send(sPostData);
}
else{
xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", sJSPFile,false);
xmlhttp.send(sPostData);
}
sRet=xmlhttp.responseText;
//alert(sRet);
}
catch (exception){
alert("服务器忙!");
}
return sRet;
}
selection动态增加option:
<td class="tableSty3-td" width="15%">
XXXX
</td>
<td width="10%">
<html:select property="dto.relInfoSceneId" name="pubInfoPrptyRelForm" onchange="slt(this.options[this.selectedIndex].value)" style="width:120px">
<html:option value=""></html:option>
<html:optionsCollection name="pubInfoPrptyRelForm" property="sceneList" label="name" value="id"/>
</html:select>
<font color="#D11B00">*</font>
</td>
<td class="tableSty3-td" width="15%">
XXXXXX
</td>
<td width="10%">
<html:select name="pubInfoPrptyRelForm" property="dto.relPrptyId" style="width:120px" >
<logic:notEmpty name="pubInfoPrptyRelForm" property="dto.relPrptyId">
<html:optionsCollection name="pubInfoPrptyRelForm" property="prptyRelList" label="name" value="id"/>
</logic:notEmpty>
</html:select>
<font color="#D11B00">*</font>
</td>
function slt(value){
if(value != '' ){
var obj = document.all('dto.relPrptyId');
obj.options.length=0;//clear options
var url = "pubInfoPrptyRelAction.do?method=getPrptyList&sceneId="+value;
var rtnValue = postform(url,null);
if(rtnValue != null ){
var arr = rtnValue.split('\r\n');
for(var i = 0;i<arr.length-1;i++){//arr.length-1 最后一行有'\r\n'
var arr1 = arr[i].split(',');
var op =document.createElement("option");
op.value=arr1[0]; //id
op.text=arr1[1];//name
obj.options.add(op); //add options
}
if(obj.options.length >0){
obj.options[0].selected ='true';}
}
}else{
var obj = document.all('dto.relPrptyId');
obj.options.length=0;//clear options
}
}
下面这样加载是错误的:不能用html:optionsCollection
option:
//newtd2.innerHTML= "<html:select name='pubInfoPrptyFrom' property='dto.dispSceneId' style='width:120px'> <html:optionsCollection name='pubInfoPrptyFrom' property='disRelScene' label='name' value='id'></html:optionsCollection> <font color='#D11B00'>*</font></html:select>";
//newtd4.innerHTML="<html:select name='pubInfoPrptyFrom' property='dto.saveSceneId'style='width:120px'> <html:optionsCollection name='pubInfoPrptyFrom' property='saveRelScene' label="name" value='id'></html:optionsCollection> <font color='#D11B00'>*</font></html:select>";
节点属性parentNode:
This is my JSP page.
<br>
<table id="tb">
<tbody id="tbd">
<tr id="tr1">
<td>
<a onclick="add(this)"><u>Click</u></a>
</td>
</tr>
<tr>
<td>
111
</td>
</tr>
<tr>
<td>
222
</td>
</tr>
</tbody>
</table>
<div id="div1">
<div id="div11"><a onclick="adddiv(this)"><u>Click</u></a></div>
<div id="div22">div11</div>
<div id="div33">div22</div>
</div>
<script type="text/javascript">
function add(obj){
alert(obj.parentNode.parentNode.id);
alert(obj.parentNode.parentNode.parentNode.id);//
alert(obj.parentNode.parentNode.parentNode.parentNode.id);//tbody id
alert(obj.parentNode.parentNode.rowIndex);//current rowIndex
var tbd = document.getElementById('tbd');
tbd.deleteRow(obj.parentNode.parentNode.rowIndex+1);
var newtr = tbd.insertRow(tbd.childNodes.length);
var newtd = newtr.insertCell();
newtd.innerHTML="THIS IS A NEW TR";
var newtr2 = document.createElement("tr");
var newtd2 = document.createElement("td");
newtd2.innerHTML="THIS IS ANOTHER NEW TR";
newtr2.appendChild(newtd2);
tbd.appendChild(newtr2);
}
function adddiv(obj){
alert(obj.parentNode.parentNode.id);
var div1 = document.getElementById('div1');
var newdiv = document.createElement('div');
newdiv.innerHTML="THIS IS A NEW DIV";
div1.appendChild(newdiv);
//under same result
alert(div1.children['0'].innerHTML);//
alert(div1.childNodes['0'].innerHTML);//
alert(div1.childNodes.length);//4
}
</script>
JSP中文乱码:
--页面自身编码pageEncoding以及IE访问用编码<%@ page contentType="text/html;charset=GBK" pageEncoding="GBK"%>
--数据传到后台前设子字符编码<%request.setCharacterEncoding("GBK");%>
1.单选按钮
<input type="radio" name="rdo" value="1">1
<input type="radio" name="rdo" value="2">2
<input type="radio" name="rdo" value="5">3
<input type="button" onclick="dispRadio();" style="width: 50px;" value="clicku">
<script type="text/javascript">
/*
Radio
*/
function dispRadio(){
var item_v = document.getElementsByName("rdo");
for(var i =0;i<item_v.length;i++){
if(item_v[i].checked){
alert(item_v[i].value);
}
}
}
</script>
2.复选框和下拉列表
Select:<select name="slt">
<option value="1">1+</option>
<option value="2">2+</option>
<option value="3">3+</option>
</select><br>
SelectAll:<input type="checkbox" name="item_all" onclick="checkAll(this);">
<input type="checkbox" name="item_v">1
<input type="checkbox" name="item_v">2
<input type="checkbox" name="item_v">3
<br>
<input type="text" name="t">
<input type="button" onclick="dispValue();" style="width: 50px;" value="clickme">
<script type="text/javascript">
/*
CheckAll/or False
*/
function checkAll(obj){
var item_v = document.getElementsByName("item_v");
for(var i =0;i<item_v.length;i++){
item_v[i].checked=obj.checked;
}
}
/*
Select
*/
function dispValue(){
var obj = document.getElementById("slt");
alert(obj.options[obj.selectedIndex].value);//获取1
for(var i=0;i< obj.length;i++){
if(obj[i].selected==true){
alert(obj[i].innerText);//1+
alert(obj[i].value);//1
document.getElementById("t").value =obj[i].value;
}
}
</script>
------------------------------------------------------------
JS动态:
表格:
<table border="0" align="center" cellpadding="0" cellspacing="0"
class="tableSty3" >
<tbody id="tb">
<tr><td>已有内容</td></tr>
<tr><td>已有内容</td></tr>
<!--.....add -->
</tbody>
</table>
js:
var tb = document.getElementById("tb");
if(tb.rows.length>2){
tb.deleteRow(2);//先删除增加的第三行 再增加第三行
}
var newtr = tb.insertRow();
newtr.id = "addTr";
var newtd1 = newtr.insertCell();
newtd1.className ="tableSty3-td";
newtd1.width="18%";
newtd1.innerHTML = "当前选择的查询名称";
var newtd2 = newtr.insertCell();
newtd2.width= "10%";
newtd2.innerHTML = "<input type='text' readonly='readonly' value="+rtnQueryId[1]+">";
var newtd3 = newtr.insertCell();
newtd3.colSpan="2";
ajax请求验证:
//封装XMLHTTP
function postform(sJSPFile,sPostData) {
//sJSPFile 为调用的JSP文件名串包括查询参数串
//sSend为SEND的XML字符串
//函数返回HTTP的响应结果
var xmlhttp;
var sRet="";
try{
if(navigator.appName.indexOf("Microsoft")!=-1){
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST", sJSPFile,false);
xmlhttp.setRequestHeader("Content-Type","text/xml");
xmlhttp.setRequestHeader("charset","GBK");
xmlhttp.Send(sPostData);
}
else{
xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", sJSPFile,false);
xmlhttp.send(sPostData);
}
sRet=xmlhttp.responseText;
//alert(sRet);
}
catch (exception){
alert("服务器忙!");
}
return sRet;
}
selection动态增加option:
<td class="tableSty3-td" width="15%">
XXXX
</td>
<td width="10%">
<html:select property="dto.relInfoSceneId" name="pubInfoPrptyRelForm" onchange="slt(this.options[this.selectedIndex].value)" style="width:120px">
<html:option value=""></html:option>
<html:optionsCollection name="pubInfoPrptyRelForm" property="sceneList" label="name" value="id"/>
</html:select>
<font color="#D11B00">*</font>
</td>
<td class="tableSty3-td" width="15%">
XXXXXX
</td>
<td width="10%">
<html:select name="pubInfoPrptyRelForm" property="dto.relPrptyId" style="width:120px" >
<logic:notEmpty name="pubInfoPrptyRelForm" property="dto.relPrptyId">
<html:optionsCollection name="pubInfoPrptyRelForm" property="prptyRelList" label="name" value="id"/>
</logic:notEmpty>
</html:select>
<font color="#D11B00">*</font>
</td>
function slt(value){
if(value != '' ){
var obj = document.all('dto.relPrptyId');
obj.options.length=0;//clear options
var url = "pubInfoPrptyRelAction.do?method=getPrptyList&sceneId="+value;
var rtnValue = postform(url,null);
if(rtnValue != null ){
var arr = rtnValue.split('\r\n');
for(var i = 0;i<arr.length-1;i++){//arr.length-1 最后一行有'\r\n'
var arr1 = arr[i].split(',');
var op =document.createElement("option");
op.value=arr1[0]; //id
op.text=arr1[1];//name
obj.options.add(op); //add options
}
if(obj.options.length >0){
obj.options[0].selected ='true';}
}
}else{
var obj = document.all('dto.relPrptyId');
obj.options.length=0;//clear options
}
}
下面这样加载是错误的:不能用html:optionsCollection
option:
//newtd2.innerHTML= "<html:select name='pubInfoPrptyFrom' property='dto.dispSceneId' style='width:120px'> <html:optionsCollection name='pubInfoPrptyFrom' property='disRelScene' label='name' value='id'></html:optionsCollection> <font color='#D11B00'>*</font></html:select>";
//newtd4.innerHTML="<html:select name='pubInfoPrptyFrom' property='dto.saveSceneId'style='width:120px'> <html:optionsCollection name='pubInfoPrptyFrom' property='saveRelScene' label="name" value='id'></html:optionsCollection> <font color='#D11B00'>*</font></html:select>";
节点属性parentNode:
This is my JSP page.
<br>
<table id="tb">
<tbody id="tbd">
<tr id="tr1">
<td>
<a onclick="add(this)"><u>Click</u></a>
</td>
</tr>
<tr>
<td>
111
</td>
</tr>
<tr>
<td>
222
</td>
</tr>
</tbody>
</table>
<div id="div1">
<div id="div11"><a onclick="adddiv(this)"><u>Click</u></a></div>
<div id="div22">div11</div>
<div id="div33">div22</div>
</div>
<script type="text/javascript">
function add(obj){
alert(obj.parentNode.parentNode.id);
alert(obj.parentNode.parentNode.parentNode.id);//
alert(obj.parentNode.parentNode.parentNode.parentNode.id);//tbody id
alert(obj.parentNode.parentNode.rowIndex);//current rowIndex
var tbd = document.getElementById('tbd');
tbd.deleteRow(obj.parentNode.parentNode.rowIndex+1);
var newtr = tbd.insertRow(tbd.childNodes.length);
var newtd = newtr.insertCell();
newtd.innerHTML="THIS IS A NEW TR";
var newtr2 = document.createElement("tr");
var newtd2 = document.createElement("td");
newtd2.innerHTML="THIS IS ANOTHER NEW TR";
newtr2.appendChild(newtd2);
tbd.appendChild(newtr2);
}
function adddiv(obj){
alert(obj.parentNode.parentNode.id);
var div1 = document.getElementById('div1');
var newdiv = document.createElement('div');
newdiv.innerHTML="THIS IS A NEW DIV";
div1.appendChild(newdiv);
//under same result
alert(div1.children['0'].innerHTML);//
alert(div1.childNodes['0'].innerHTML);//
alert(div1.childNodes.length);//4
}
</script>
发表评论
-
JS面向对象编程
2012-02-06 10:51 644http://hi.baidu.com/ruan083de/b ... -
JS正则 备忘
2012-01-10 16:21 675http://www.iteye.com/topic/3072 ... -
JS事件冒泡浏览器兼容
2011-06-16 11:06 1241Event keyCode: http://unixpap ... -
CSS样式
2011-06-08 13:47 799自动换行设定宽度:word-wrap\word-break\w ... -
Javascript5-jquery
2011-01-27 15:34 718jquery api: http://visu ... -
JSON
2011-01-21 15:53 746java开源的东西.多。 51cto: //------- ... -
CSS 层定位FLOATDISPLAYVISIBILITY
2011-01-01 15:11 883//图片滚动http://www.kxbd.com/mylab ... -
CSS定位
2011-01-01 12:23 682另一篇: http://blog.csdn. ... -
CSS-设计网站(DIV盒子模型)
2011-01-01 11:04 1520.盒子模型以及定位的不 ... -
原理性知识总结
2010-11-04 22:18 8141.spring框架bean be ... -
JavaScript4
2010-10-14 18:50 752http://www.w3school.com.cn/js/j ... -
Spring-JdbcTemplate
2010-04-30 14:06 982JdbcTemplate事务操作: <bean ... -
CSS-右键菜单DIV TABLE
2010-04-20 10:53 2929DIV: 动态增减DIV: 总有bug.不停的右键 就只会增 ... -
JSP分页
2010-04-17 13:29 923分页 用rownum较多 Oracle数据库的rownum ... -
JavaScript3
2010-04-15 13:44 737右键弹出菜单: //-------------------- ... -
JavaScript2
2010-04-13 16:12 9081.单选按钮 <input type="rad ... -
JavaScript1
2010-03-22 17:10 542from:http://www.tsolong.com/pos ... -
webwork框架
2009-07-02 20:41 7661.webwork标签 教材:http://dev.csdn. ... -
关于框架开发
2009-06-18 00:05 746纪念: JAR Library Installation(ja ...
相关推荐
在IT行业中,页面模板是构建网站或应用程序时不可或缺的一部分,它们提供了一种快速、高效地设计用户界面的方式。"常用页面模板"这个主题涵盖了多种常见的交互场景,包括登录界面、手机登录界面、微信注册页面以及...
操作系统是计算机科学中的核心课程,其中页面置换算法是内存管理的重要组成部分,特别是在现代多任务环境中。本实验旨在通过模拟各种常见的页面置换算法,帮助学生深入理解这些算法的工作原理及其对系统性能的影响。...
通常,我们可以将CSS命名规则分为几个主要部分:页面结构、导航、功能元素等,并且每个部分都有其特定的命名方式。 #### 页面结构容器 - **页面结构容器**:`container`,用于定义页面的主要容器。 - **页头**:`...
在计算机科学中,内存管理是操作系统的一个重要组成部分,特别是在处理虚拟内存时,页面置换算法扮演着关键角色。页面置换算法的模拟实验可以帮助我们深入理解内存的工作机制,优化系统的性能。本实验主要关注“常用...
这里我们来详细探讨一下"页面常用的JS脚本"这一主题,以及如何利用它们提升用户体验。 1. **DOM操作**:JavaScript通过Document Object Model(DOM)模型来操作HTML或XML文档。常用的操作包括获取元素(`document....
这个压缩包文件集合了多种基于Bootstrap的常用页面模板,涵盖了登录注册页和后台管理体系页面,这些都是网站开发中的核心部分。 1. **Bootstrap3**: Bootstrap3是Bootstrap的第三个主要版本,它引入了更简洁的代码...
请求页式存储管理中常用页面置换算法模拟是计算机操作系统实验项目的重要组成部分。通过对不同算法的模拟实现,我们可以深入了解页面置换算法的原理和实现方法,并且可以比较不同算法的性能。这项实验可以帮助学生更...
以上代码表示300秒后页面将自动跳转到`target.html`页面,如果只希望刷新当前页面而不跳转,则可以省略`url`部分。 #### 五、通过JavaScript实现页面元素的刷新 有时候我们需要刷新页面中的某个特定元素(如iframe...
操作系统中的页面置换算法是内存管理的关键部分,尤其是在虚拟内存系统中。当物理内存不足时,这些算法用于决定将哪个页面换出到磁盘上的交换文件,以便为新页面腾出空间。以下是关于C++实现以及四种主要页面置换...
在IT行业中,网页开发是不可或缺的一部分,而注册页面的表单验证则是网页开发中的关键环节。注册页面的设计和实现直接影响到用户体验以及数据安全。本文将深入探讨“各种常用注册页面表单验证”的相关知识点,主要...
【标题】"splash欢迎页面,比较常用,收藏" 指的是在移动应用或软件启动时展示的一种特殊页面,通常称为“启动页”或“闪屏页”。它旨在提升用户体验,展示品牌形象,或者在应用程序加载内容时提供一个视觉过渡。在...
操作系统七次实验报告常用页面置换算法模拟实验 操作系统七次实验报告常用页面置换算法模拟实验是操作系统课程的第七次实验报告,该实验的目的是通过模拟实现请求页式存储管理的几种基本页面置换算法,了解虚拟存储...
"一些常用资料,关于页面技术常用的例子"这个压缩包文件很可能包含了一系列与网页开发相关的实例和教程,帮助初学者和经验丰富的开发者巩固技能,提高工作效率。下面我们将详细探讨一些可能涵盖的知识点。 1. HTML...
操作系统常用页面置换算法课程设计 操作系统中,页面置换算法是虚拟存储管理的一个重要部分。页面置换算法的目的是为了提高内存利用率,提供了内外存进程对换机制,内存空间的分配和回收均以页为单位进行。一个进程...
实验报告——常用页面置换算法模拟 实验名称:第7次实验——常用页面置换算法模拟 实验目的: 本次实验旨在通过模拟实现请求页式存储管理的几种常见页面置换算法,帮助学生深入理解虚拟存储技术的工作原理。学生...
操作系统常用页面置换算法课程设计 操作系统中,页面置换算法是一种重要的虚拟存储管理机制。为了提高内存利用率,操作系统提供了内外存进程对换机制,使得一个进程只需要将其一部分调入内存便可运行。当操作系统...
在Android应用开发中,"最常用的主页面布局之一Tab"是指使用Tab来组织应用程序的主要内容。Tab布局通常结合ViewPager和Fragment一起使用,提供一个可滑动的页面集合,每个页面都对应一个Tab标签,用户可以通过点击...
以上就是"40个网络页面常用小代码"可能涵盖的部分知识点,这些代码片段可以帮助开发者快速实现常见的网页功能,提升开发效率。通过学习和实践这些代码,你可以进一步掌握网页开发的核心技术,创造出更加精美和功能...
JavaScript是Web开发中不可或缺的一部分,尤其在处理页面跳转和刷新方面起着关键作用。本文将详细介绍JavaScript中用于页面跳转和刷新的各种方法,并提供实际的代码示例。 首先,让我们来看看JavaScript刷新页面的...