barriers / 阅读 / 详情

js怎么获取文本框内容

2023-07-27 07:54:11
TAG: 内容 js
共3条回复
豆豆staR

var keyword="******";//关键字

这样写就可以:

var keyword=document.forms[0].keyword.value;//关键字

但是,你的这样语句就是页面加载的时候执行一次,因为你写在onLoad里面的,那么当页面加载以后你修改keyword的值是没有效果的。

要能够多次执行,应该这样:

<html><head>

<script language="JavaScript">

function func()

{

var keyword=document.forms[0].keyword.value;//关键字

var r=document.body.createTextRange();

var s="<font style="background-color: #FFFF00;">"+keyword+"</font>";

while(r.findText(keyword)){

for(var o=r.parentElement();o&&o.tagName!="A";o=o.parentElement);

if(!o)try{

r.pasteHTML(s);

}catch(e){}

r.collapse(false);

}

return false;

}

</script>

</head><body>

<form onSubmit="return func();">

<input name="keyword" type="text" value="******">

<input type=submit value="Search">

</form>

</body></html>

tt白

1.GetDlgItem获取文本编辑框的指针来获取内容

2.使用

GetDlgItemText

函数获取文本框的内容。

3.使用

GetDlgItemInt来直接获取数值内容。

4.第四种方法在类的定义

变量

来关联

控件

5.第五种使用SendMessage获取编辑框内容。

1.GetDlgItem获取文本编辑框的指针来获取内容

先使用

GetDlgItem(编辑框的ID)获取编辑框的指针。再指向编辑框的GetWindowText函数将获取内容保存至指定的字符数组里。

下面是代码。

int

num1,num2,num3;

char

char1[10],char2[10],char3[10];

GetDlgItem(IDC_EDIT1)->GetWindowText(char1,10);

GetDlgItem(IDC_EDIT2)->GetWindowText(char2,10);

num1=atoi(char1);

num2=atoi(char2);

num3=num2+num1;

itoa(num3,char3,10);

GetDlgItem(IDC_EDIT3)->SetWindowText(char3);

2.使用

GetDlgItemText

函数获取文本框的内容。

GetDlgItemText

函数

从代码分析上来看,GetDlgItemText

函数是第一种方法的简写版。

int

num1,num2,num3;

char

char1[10],char2[10],char3[10];

GetDlgItemText(IDC_EDIT1,char1,10);

GetDlgItemText(IDC_EDIT2,char2,10);

num1=atoi(char1);

num2=atoi(char2);

num3=num2+num1;

itoa(num3,char3,10);

SetDlgItemText(IDC_EDIT3,char3);

3.,使用

GetDlgItemInt来直接获取数值内容。

第二个例子是获取的文本内容,转成数值内容的话,就得使用atoi函数比较麻烦

就可以使用GetDlgItemInt来直接获取数值内容。

代码如下

int

num1,num2,num3;

char

char1[10],char2[10],char3[10];

num1=GetDlgItemInt(IDC_EDIT1);

num2=GetDlgItemInt(IDC_EDIT2);

num3=num1+num2;

SetDlgItemInt(IDC_EDIT3,num3);

4.第四种方法在类的定义

变量

来关联

控件

单击

查看—建立类向导—Member

Variables选项卡

单击对应的Control

Ids的名称

在Member

variable

name填入

一个变量名即可。

如果想直接取值的话

,在category中选择Value,那么这个变量名就是对应的值

UpdateData();

m_edit3=m_edit1+m_edit2;

UpdateData(false);

可以选择数据类型,来定义变量的数据类型。

如果是文本型的。

就在Category中选择

control,那么,这个变量名,就对应这个控件。就利用这个变量名进行操作。

int

num1,num2,num3;

char

char1[10],char2[10],char3[10];

m_the_edit1.GetWindowText(char1,10);

m_the_edit2.GetWindowText(char2,10);

num1=atoi(char1);

num2=atoi(char2);

num3=num1+num2;

itoa(num3,char3,10);

m_the_edit3.SetWindowText(char3);

5.第五种使用SendMessage获取编辑框内容。

使用发送消息的方式。

(1)。采用全局类的SendMessage来发送获取消息内容的。

注意

第一个参数是目标窗口控件的句柄,第二个参数是固定的表示符,第三个是第四个字符变量的大小,第四个是字符变量数组的指针。

::SendMessage(GetDlgItem(IDC_EDIT1)->m_hWnd,WM_GETTEXT,10,(LPARAM)char1);

也可以这要获取句柄。

::SendMessage(m_the_edit1.m_hWnd,WM_GETTEXT,10,(LPARAM)char1);

(2)。在窗口类中也有SendMessage函数。

GetDlgItem(IDC_EDIT1)->SendMessage(WM_GETTEXT,10,(LPARAM)char1);

或者这样

m_the_edit1.SendMessage(WM_GETTEXT,10,(LPARAM)char1);

也有省事的SendDlgItemMessage

函数,可以直接发送获取文本的消息指指定控件的ID。

SendDlgItemMessage(IDC_EDIT2,WM_GETTEXT,(LPARAM)char2);

余辉

(这个文本框不在form里)

提交

相关推荐

parentNode(parentNode属性什么意思)

您好,我就为大家解答关于parentNode,parentNode属性什么意思相信很多小伙伴还不知道,现在让我们一起来看看吧!1、parentNode 属性以 N... 您好,我就为大家解答关于parentNode,parentNode属性什么意思相信很多小伙伴还不知道,现在让我们一起来看看吧! 1、parentNode 属性以 Node 对象的形式返回指定节点的父节点。 2、parentNode跟parentElement除了前者是w3c标准,后者只ie支持。 3、当父节点的nodeType不是1,即不是element节点的话,它的parentElement就会是null。 4、一般情况parentNode可以取代parentElement的所有功能。 5、parentElement匹配的是parent为element的情况,而parentNode匹配的则是parent为node的情况。 6、element是包含在node里的,它的nodeType是1。
2023-07-26 02:44:551

JS中的parentElement,parentNode,childNodes,children,[object text]问题

parentElement 获取对象层次中的父对象。 parentNode 获取文档层次中的父对象。 childNodes 获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。 children 获取作为对象直接后代的 DHTML 对象的集合。 parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个不是标准,Firefox就不支持。当父节点的nodeType不是1,即不是element节点的话,它的parentElement就会是null一般情况parentNode可以取代parentElement的所有功能。parentElement匹配的是parent为element的情况,而parentNode匹配的则是parent为node的情况。element是包含在node里的,它的nodeType是1。
2023-07-26 02:45:081

javascript的parentNode,parentElement

parentElement 是IE专用属性,parentNode 是W3C标准属性,parentElement 指的是该元素的父元素,parentNode指的是该DOM元素节点的上级节点
2023-07-26 02:45:324

this.parentElement.parentElement火狐谷歌undefined

神秘
2023-07-26 02:45:412

我要怎么取得父级DIV的ID呢?

开始你给我的私信有回给你了 你去看看
2023-07-26 02:45:493

jquery怎么获取当前元素的父元素

$(this).parent()
2023-07-26 02:45:571

在jap中怎么样实现利用按钮跳转页面

如果该按钮是在form表单中则很好处理<form action="需要跳转的页面"><Button onclick="this.parentElement.submit">我是跳转按钮,点我就跳到另外一个页面,点我试试</Button></form>代码解释:action为跳转的页面地址,可以交由Servlet处理跳转,也可以直接页面名,Button按钮标签,单击事件:onclick。this代表当前的对象,也就是按钮标签这个对象,指代作用。parentElement是得到当前标签(Button)的父标签(form)。form本身有一个事件:onsubmit。提交事件。this。parentElement。submit会自动调用onsubmit这个事件后。寻找action中的地址,然后就可以进行跳转了。如果该按钮不是在form表单中,则需要:<script> function goURL(){ window.location = "URL"; }</script><Button onclick="goURL();">我是跳转按钮,点我就跳到另外一个页面,点我试试</Button>或者:<Button onclick="window.location="url";">我是跳转按钮,点我就跳到另外一个页面,点我试试</Button>
2023-07-26 02:46:101

js里面哪个方法可以找到父节点的

<HTML> <HEAD> </HEAD> <BODY> <script> function find(obj) { //tr的对象obj //obj.parentElement就是table //obj.parentElement.children.length,table的孩子数 //obj.parentElement.children(1),就是table的第2个孩子(tr) //obj.parentElement.children(1).children(0),就是就是table的第2个孩子(tr)的第一个孩子(td),就这样找...都能找到 alert(obj.parentElement.children(1).children(0).innerText); } </script><table width="50%" border=1> <tr onClick="find(this);"> <td>1 </td> <td>2 </td> </tr> <tr> <td>3 </td> <td>4 </td> </tr></table></BODY></HTML>
2023-07-26 02:46:171

parentElement.removeNode(true),IE下正常,火狐、谷歌下失效,帮忙解决一下。

只有IE有removeNode 你可以这样写this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);最好能写个函数 每个按钮执行函数就行了 不要重复写这些
2023-07-26 02:46:362

C#listview 拖动水平滚动条怎样保持第一列不滚动

以下为Gridview嵌套两层div的代码: <div id="grid"> <div id="gridview"> <asp:GridView ID="GridView1" runat="server" Font-Size="9pt" CssClass="datagrid"><HeaderStyle Wrap="false" /> <RowStyle Wrap="false" /> </asp:GridView> </div></div>然后是CSS样式表:<style> .datagrid td {padding:4px; height:20px; text-align:center}.fixed{ background:#fcc; z-index:2; }.gridWidth{ width:4000px;} .unfixed{ border:none;}#grid {position:relative;display:block; width:90%; margin:30px auto; background:#fff; overflow:hidden;} #gridview{position:relative;display:block;width:100%; background:#fff; overflow-y: hidden;overflow-x: scroll;}</style>再是JS代码(用Jquery框架):<script type="text/javascript" src="jquery-1.3.1.js"></script><script type="text/javascript">$(document).ready(function(){ var d=$("<div></div>"); var height=0; var width=0; d.css({position:"absolute",left:"0",top:"0",background:"#fff"}); $("#grid").append(d); var view=$(".datagrid"); var t=$("<table class="datagrid" cellspacing="0" rules="all" border="1" style="font-size:9pt;border-collapse:collapse;"></table>"); /*这里的table样式是在浏览器中查看GridView解析后的表格的样式,直接复制就行!*/ var trlist=view.find("tr"); for(var i=0;i<trlist.length;i++){ var tr=trlist[i]; var newTr=$("<tr style="white-space:nowrap;"></tr>"); /*这里tr的样式也一样,但要注意的是,有时gridview会隔一行换一种样式,这里的JS代码需要做一些处理*/ newTr.append($(tr).children(".fixed").clone()); t.append(newTr); } d.append(t); });</script>
2023-07-26 02:46:432

关于前端的几个知识点,劳烦知友帮忙解答一下

1、DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。document.documentElement 返回文档的根节点<html> document.body <body> document.activeElement 返回当前文档中被击活的标签节点(ie) event.fromElement 返回鼠标移出的源节点(ie) event.toElement 返回鼠标移入的源节点(ie) event.srcElement 返回激活事件的源节点(ie) event.target 返回激活事件的源节点(firefox) 当前对象为node 返回父节点:node.parentNode, node.parendElement, 返回所有子节点:node.childNodes(包含文本节点及标签节点),node.children 返回第一个子节点:node.firstChild 返回最后一个子节点: node.lastChild 返回同属上一个子节点:node.nextSibling 返回同属下一个子节点:node.previousSibling parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个只是IE支持,不是标准,Firefox就不支持 ,所以大家只要记得有parentElement和children就行了 2、DOM操作——怎样添加、移除、移动、复制、创建和查找节点。(1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点(2)添加、移除、替换、插入 appendChild() removeChild() replaceChild() insertBefore()(3)查找 getElementsByTagName() //通过标签名称 getElementsByName() //通过元素的Name属性的值 getElementById() //通过元素Id,唯一性3、事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。(1)冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。 IE 5.5: div -> body -> document IE 6.0: div -> body -> html -> document Mozilla 1.0: div -> body -> html -> document -> window(2)捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。(3)DOM事件流:同时支持两种事件模型:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开始,也在document对象结束。 DOM事件模型最独特的性质是,文本节点也触发事件(在IE中不会)。4、XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。XMLHttpRequest 对象提供了在网页加载后与服务器进行通信的方法。<script type="text/javascript"> varxmlhttp; functionloadXMLDoc(url){ xmlhttp=null; if(window.XMLHttpRequest){ //code for all new browsers xmlhttp=newXMLHttpRequest(); }elseif(window.ActiveXObject){ //code for IE5 and IE6 xmlhttp=newActiveXObject("Microsoft.XMLHTTP"); } if(xmlhttp!=null){ xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET",url,true); xmlhttp.send(null); }else{ alert("Your browser does not support XMLHTTP."); }}functionstate_Change(){ if(xmlhttp.readyState==4){ //4 = "loaded" if(xmlhttp.status==200){ //200 = OK //...our code here... }else{ alert("Problem retrieving XML data"); } }}</script>5、严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。浏览器根据DOCTYPE是否存在以及使用的哪种DTD来选择要使用的呈现方法。如果XHTML文档包含形式完整的DOCTYPE,那么它一般以标准模式呈现。对于HTML 4.01文档,包含严格DTD的DOCTYPE常常导致页面以标准模式呈现。包含过渡DTD和URI的DOCTYPE也导致页面以标准模式呈现,但是有过渡DTD而没有URI会导致页面以混杂模式呈现。DOCTYPE不存在或形式不正确会导致HTML和XHTML文档以混杂模式呈现。6、盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。一个元素盒模型的层次从内到外分别为:内边距、边框和外边距IE8以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框7、块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。块级元素,用CSS中的display:inline;属性则变为行内元素行内元素,用CSS中的display:block;属性则变为块级元素影响:周围元素显示在同一行或换行显示,根据具体情况调整样式8、浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。需要浮动的元素可使用CSS中float属性来定义元素的浮动位置,left:往左浮动,right:往右浮动浮动元素引起的问题:(1)父元素的高度无法被撑开,影响与父元素同级的元素(2)与浮动元素同级的非浮动元素会跟随其后(3)若非第一个元素浮动,则该元素之前的元素也需要浮动,否则会影响页面显示的结构解决方法:使用CSS中的clear:both;属性来清除元素的浮动可解决2、3问题,对于问题1,添加如下样式,给父元素添加clearfix样式:.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}.clearfix{display: inline-block;} /* for IE/Mac */9、HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。主要区别: XHTML 元素必须被正确地嵌套 XHTML 元素必须被关闭,空标签也必须被关闭,如 <br> 必须写成 <br /> XHTML 标签名必须用小写字母 XHTML 文档必须拥有根元素 XHTML 文档要求给所有属性赋一个值 XHTML 要求所有的属性必须用引号""括起来 XHTML 文档需要把所有 < 、>、& 等特殊符号用编码表示 XHTML 文档不要在注释内容中使“--” XHTML 图片必须有说明文字 XHTML 文档中用id属性代替name属性10、JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON建构于两种结构:“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
2023-07-26 02:47:001

js 得到TR里某个td的值

这个用jquery很容易的 $("tr").find("td").eq(7)就是获得当前行的第八列原生态js写法是 window.event.srcElement.parentElement.parentElement.childNodes获得所有的td 循环一下就行了
2023-07-26 02:47:071

求教 document.getElementById 的用法

1、getElementById作用:一般页面里ID是唯一的,用于准备定为一个元素 语法: document.getElementById(id) 参数:id :必选项为字符串(String) 返回值:对象; 返回相同id对象中的第一个,按在页面中出现的次序,如果无符合条件的对象,则返回 nullexample:document.getElementById("id1").value;2、getElementsByName作用:按元素的名称查找,返回一个同名元素的数组语法: document.getElementsByName(name)参数:name :必选项为字符串(String)返回值:数组对象; 如果无符合条件的对象,则返回空数组,按在页面中出现的次序example:document.getElementsByName("name1")[0].value; document.getElementsByName("name1")[1].value; 3、getElementsByTagName作用:按HTML标签名查询,返回一个相同标签元素的数组语法: object.getElementsByTagName(tagname) object可以是document或event.srcElement.parentElement等参数:tagname:必选项为字符串(String),根据HTML标签检索。返回值:数组对象; 如果无符合条件的对象,则返回空数组,按在页面中出现的次序example:document.getElementsByTagName("p")[0].childNodes[0].nodeValue; document.getElementsByTagName("p")[1].childNodes[0].nodeValue
2023-07-26 02:47:151

如何用javascript设置table的td的id

分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题描述: <TABLE id="aaa"> <TR> <TD>s1</TD> <TD>s2</TD> </TR> <TR> <TD>s3</TD> <TD>s4</TD> </TR> </TABLE> 一个表格如上,如何用javascript把内容为s3的td的ID设置为ss3 ???? 解析: 参考一下这段,把代码直接贴到文件即可使用 <style>body,td,div,a,input{font:menu;line-height:150%}</style> <table cellspacing=1 cellpadding=1 border=0 width=100% id=t136><tbody><form method=post enctype="multipart/form-data"><input type=hidden name=deal value=true><input type=hidden name=frmID value=22><input type=hidden name=thisdir value=><input type=hidden name=TID value=><tr class="page_speeder_1153071515" bgcolor=ACD0FD><td colspan=2>呵呵</td></tr><tr bgcolor=EFEFD6><td colspan=2><font color=000080>哈哈</font></td></tr><input type=hidden name=frmShowURL value=payment><input type=hidden name=ID value=><tr bgcolor=F0F0F0><td>xixi</td><td>xixi </td></tr><tr bgcolor=F9F9F9><td>hehe</td><td><input type=text class=border_index name=newdir style="ime-mode:disabled"><font color=000080>hehe</font> </td></tr><tr bgcolor=F0F0F0><td>新图片上传</td><td><div> <input type=button onclick=addNew() value=增加 class=button_index><font color=000080>(按一次增加按钮就可以上传一张图片。)</font></div></td></tr><tbody></table></form><script> var i=0,arr=new Array("F9F9F9","F0F0F0"); function addNew(){ tr=document.all.t136.insertRow(); tr.style.backgroundColor=arr[i%2]; tr.insertCell().innerText="图片"+(++i); tr.insertCell().innerHTML="<input type=file name=pic"+i+" class=border_index> <a href=javascript:void(0) onclick=del()>删除</a>" } function del(){ document.all.t136.deleteRow(window.event.srcElement.parentElement.parentElement.rowIndex); for(i=0;i<document.all.t136.rows.length-5;i++){ document.all.t136.rows[i+5].cells[0].innerText="图片"+(i+1); document.all.t136.rows[i+5].cells[1].children[0].name="pic"+(i+1); document.all.t136.rows[i+5].style.backgroundColor=arr[i%2]; } } </script>
2023-07-26 02:47:341

请教一下,在易语言中,我想把编辑框1里的数字,全部提取到编辑框2中。该怎么做?参考你的例子未能成功。

使用精易模块的正则,不要用易语言自带的正则源文本=编辑框1.内容"文本型变量计次=0"整数型变量正则.创建("onclick")"+#引号+">jw(.*?)</span>",源文本)计次循环首(正则.取子匹配数量,计次)编辑框2.内容=编辑框2.内容+正则.取子匹配文本(1,1)+#换行符计次循环尾()"上面代码我已经给你写出来了。满意请采纳。
2023-07-26 02:47:411

怎么用原生js去找父级里的子元素

dom.parentNode.children()
2023-07-26 02:47:571

JS之DOM操作

DOM: Document Object Model,文档对象模型;js提供了丰富的api来操作文档内容。 DOM树: html文档中的内容是以树形结构排布,html是DOM树根,html下只有两个子标签head、body 节点: DOM将所有的分支端都成为节点。节点有很多类型,常见的节点类型有:文本节点、元素节点。 可以通过 nodeType查看节点类型 : 1元素节点、3文本节点 特殊的元素节点: 1、html元素 2、body元素 3、head元素 节点操作的api(属性和方法) 1、nodeName:只读属性,可以读取节点名称 2、nodeType:只读属性,读取节点类型 3、 hasChildNodes():判断调用方法的节点是否存在子节点,存在返回true,不存在返回false。 主流浏览器会将换行符、制表符、空格当做文本节点处理,IE9以下会忽略它们。 4、childNodes:只读属性,获得节点的子节点集合,子节点集合是一个类数组结构,有数组特点无数组方法 5、firstChild:获得节点的第一个子节点 6、lastChild:获得节点的最后一个子节点 7、querySelector(): 参数:string类型,css选择器 作用:获得文档中第一个符合选择器条件的节点 兼容:在IE9以下不支持 8、 querySelectorAll(): // 获得的都是静态集合 参数:string类型,css选择器 作用:获得文档中所有符合选择器条件的节点集合(类数组结构) 兼容:在IE9以下不支持 注意: querySelector() 和 querySelectorAll() 得到的都是元素节点。 9、previousSibling:获取节点的前一个兄弟节点 10、nextSibling:获取节点的后一个兄弟节点 11、parentNode:获得节点的父节点(父节点一定是元素节点) 12、removeChild():节点删除它的指定子节点 DOM操作元素:暂时不用的隐藏、一定不用的删除。 13、cloneNode():克隆一个节点 参数:boolean类型,true深克隆,false浅克隆,默认浅克隆 深克隆:不仅克隆节点和节点的属性,还会克隆节点的子节点 浅克隆:只克隆节点和节点的属性,不会克隆节点的子节点 14、a.replaceChild(b,c):用b替换c 其中a是c的父节点,c是文档上已经存在的节点,b可以是节点也可以是已存在节点,被替换的节点会从文档结构中删除。 15、a.replaceWith(b):用b替换a a已存在的节点,b可以是新节点也可以是已存在节点,被替换的节点从DOM树删除。 16、a.insertBefore(b,c):在c前面插入b 其中,a是c的父节点,c是已经存在的节点,b是新节点 17、a.appendChild(b):在a末尾追加b a是父节点,b是a的子节点, c是子节点 元素节点的相关api 1、getElementsByTagName():根据标签名获得元素集合(类数组结构) 区别:HTMLCollection 是动态集合,NodeList 是静态集合。 2、createElement():根据标签名创建新元素 3、id:读写属性,可以读取或设置元素的id值 4、className:读写属性,可以读取或设置元素的class值 5、classList:读取标签的类名集合(类数组结构) add():为元素新增类名,如果类名已存在不会重复添加 remove():删除元素指定类名,如果类名不存在不会执行操作 元素的属性分为两类: 一类是元素本里就拥有的属性,例如:id、class、style、src、herf、target、alt、title、type、value等等,这些属性可以在js中直接通过.语法读取或设置。 再一类是我们为了解决问题给元素添加的自定义属性,这些属性在js中无法直接通过.语法读取,需要通过操作方法访问。 6、setAttribute(name,value) 参数:name表示要设置的属性名,value要为属性设置的值 无返回值 7、getAttribute(name) 参数:name表示要读取的属性名 返回值:返回属性的值,如果属性不存在会返回null 8、removeAttribute(name) 参数:name表示要删除的属性名 无返回值 说明:setAttribute()、getAttribute()、removeAttribute()都可以操作元素的本地属性和自定义属性。 element拓展: 兼容:以下属性、方法在IE9以下不支持。 1、children:读取元素的所有元素子节点集合(类数组) 2、parentElement:读取元素的父元素节点 3、previousElementSibling:读取前一个元素兄弟节点 4、nextElementSibling:读取后一个元素兄弟节点 5、firstElementChild:读取第一个元素子节点 6、lastElementChild:读取最后一个元素子节点 7、remove(): 将调用方法的元素从DOM结构中删除
2023-07-26 02:48:041

jsp中制作下拉时间

这太简单了
2023-07-26 02:48:123

(HTML JS javascript) js 中如何得到本标签位于父标签中的第几个?

方法1:这段HTML代码是不是服务器端脚本生成,加一个序号属性,这样最简单明了。方法2:申请计数器变量,写循环在 currentNode.parentElement.children 集合中比对。 不过还是强烈建议用 jquery 选择器处理这类问题
2023-07-26 02:48:204

请问:如何在aspx页面中实现点击文本框出现日期选择,并且所选的时间进入文本框中?

用内嵌javascript更好,占服务器资源比较少,转一下别人的代码(具体调用方法最下面有):<script>/* alin *//* Email:caoailin111@sohu.com *//* QQ:38062022 *//* Creation date: 2004-6-13 */ var myC_x,myC_y; var myC_timeset=null,myC_timeset1=null; var divObj=null; var inputName; function myCalendar() //构建对象 { var myDate = new Date(); this.year = myDate.getFullYear(); this.month = myDate.getMonth()+1; this.date = myDate.getDate(); this.format="yyyy-mm-dd"; this.style = myStyle(1); this.show = createCalendar; this.input = createInput; } function myStyle(num) //设置样式 { if(!num||isNaN(num)){alert("参数不对,采用默认样式!");num=1;} var style = new Array(); style[1]=".week{background-color:#DfDfff;font-size:12px;width:140px;}" +".ds{width:140px;font-size:12px;cursor:hand}" +".mover{border:1px solid black;background-color:#f4f4f4;}" +".move1{border:1px solid #5d5d5d;background-color:#f4f4f4;color:#909eff;font-size:12px}" +".tit{background-color:#909EFF;width:140px;font-size:12px;color:white;cursor:default}" +".cs{position:absolute;border:1px solid #909eff;width:142px;left:0px;top:0px;z-index:9999;}" +".shadow{position:absolute;left:0px;top:0px;font-family: Arial Black;font-size:50px;color:#d4d4d4;z-index:1;text-align:center;}"; document.write("<style type="text/css">"); document.write(style[num]); document.write("</style>"); } function createCalendar() { var week = new Array("日","一","二","三","四","五","六"); document.write("<div class="cs" onselectstart="return false" oncontextmenu="return false" onmousedown="if(event.button==2)this.style.display="none"" id="myC_div"><div class="shadow"></div><div style="position:absolute;left:0px;top:0px;z-index:1">"); //创建头部 document.write("<table class="tit" id="myC_Top" onmousedown="myC_x=event.x-parentNode.parentNode.style.pixelLeft;myC_y=event.y-parentNode.parentNode.style.pixelTop;setCapture()" onmouseup="releaseCapture();" onmousemove="myCMove(this.parentElement.parentElement);"><tr><td width=10 onmouseover="this.style.color="black"" onmouseout="this.style.color=""" onclick="cutYear()" style="font-family: Webdings;cursor:hand;" title="减少年份">7</td><td title="减少月份" onmouseover="this.style.color="black"" onclick="cutMonth()" onmouseout="this.style.color=""" width=10 style="font-family: Webdings;cursor:hand;">3</td><td align=center onmouseover=this.className="move1"; onmouseout=this.className="";divHidden(myC.parentElement.nextSibling); onclick="createyear("+this.year+",this);divShow(myC.parentElement.nextSibling);"></td><td align=center onclick="createmonth("+this.month+",this);divShow(myC.parentElement.nextSibling)" onmouseover=this.className="move1"; onmouseout=this.className="";divHidden(myC.parentElement.nextSibling);></td><td width=10 onmouseover="this.style.color="black"" onmouseout="this.style.color=""" onclick="addMonth()" style="font-family: Webdings;cursor:hand;" title="增加月份">4</td><td width=10 style="font-family: Webdings;cursor:hand;" onmouseover="this.style.color="black"" onmouseout="this.style.color=""" onclick="addYear()" title="增加年份">8</td></tr></table>"); //创建星期条目 document.write("<table class="week"><tr>"); for(i=0;i<7;i++) document.write("<td align=center>"+week[i]+"</td>"); document.write("</tr></table>"); //创建日期条目 document.write("<table class="ds" id="myC" cellspacing=2 cellpadding=0>"); for(i=0;i<6;i++) { document.write("<tr>"); for(j=0;j<7;j++) document.write("<td width=10% height=16 align=center onmouseover="mOver(this)" onmouseout="mOut(this)" onclick="if(this.innerText!="")getValue(inputName,this.innerText);myC_div.style.display="none""></td>"); document.write("</tr>"); } document.write("</table>"); //建建水印 document.write("</div>"); //创建选择图层 document.write("<div style="position:absolute;left:0px;top:0px;z-index:3" onmouseover=divShow(this) onmouseout=divHidden(this)></div>"); document.write("</div>");//显示日期 showDate(this.year,this.month); myC_div.style.display="none"; } function getValue(obj,value) { eval(obj).value=parseInt(myC_Top.cells[2].innerText)+"-"+parseInt(myC_Top.cells[3].innerText)+"-"+value; } function showDate(year,month) { var myDate = new Date(year,month-1,1); var today = new Date(); var day = myDate.getDay(); var length = new Array(31,30,31,30,31,30,31,31,30,31,30,31); length[1] = ((year%4==0)&&(year%100!=0)||(year%400==0))?29:28; for(i=0;i<myC.cells.length;i++)myC.cells[i].innerHTML = ""; for(i=0;i<length[month-1];i++) { myC.cells[i+day].innerHTML = (i+1); if(new Date(year,month-1,i+1).getDay()==6||new Date(year,month-1,i+1).getDay()==0){myC.cells[i+day].style.color="red";} } myC_Top.cells[2].innerText=year+"年"; myC_Top.cells[3].innerText=month+"月"; with(myC.parentNode.previousSibling.style) { pixelLeft=myC.offsetLeft; pixelTop=myC.offsetTop; height = myC.clientHeight; width = myC.clientWidth; } myC.parentElement.parentElement.style.height=myC.parentElement.offsetHeight; myC.parentElement.previousSibling.innerHTML=year; } //一些附加函数-------------------- //---------Begin------------------- function mOver(obj){obj.className = "mover";} function mOut(obj){if(obj.className=="mover")obj.className = "";} function addYear(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText); year++;showDate(year,month);} function addMonth(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);month++;if(month>12){month=1;year++;}showDate(year,month);} function cutYear(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);year--;showDate(year,month);} function cutMonth(){var year = parseInt(myC_Top.cells[2].innerText);var month = parseInt(myC_Top.cells[3].innerText);month--;if(month<1){month=12;year--;}showDate(year,month);} function divS(obj) { if(obj!=divObj) { obj.style.backgroundColor="#909eff"; obj.style.color="black"; } if(divObj!=null) { divObj.style.backgroundColor=""; divObj.style.color=""; } divObj = obj; } function divShow(obj) { if (myC_timeset!=null) clearTimeout(myC_timeset); obj.style.display="block"; } function divHidden(obj){myC_timeset=window.setTimeout(function(){obj.style.display="none"},500);} function createyear(year,obj)//创建年份选择 { var ystr; var oDiv; ystr="<table class="move1" cellspacing=0 cellpadding=2 width="+obj.offsetWidth+">"; ystr+="<tr><td style="cursor:hand" onclick="createyear("+(year-20)+",myC_Top.cells[2])" align=center>上翻</td></tr>"; for(i=year-10;i<year+10;i++) if(year==i) ystr+="<tr style="background-color:#909eff"><td style="color:black;height:16px;cursor:hand" align=center onclick="myC_Top.cells[2].innerText=this.innerText;showDate("+i+",parseInt(myC_Top.cells[3].innerText));myC.parentElement.nextSibling.innerHTML=""">"+i+"年</td></tr>"; else ystr+="<tr><td align=center style="cursor:hand" onmouseover=divS(this) onclick="myC_Top.cells[2].innerText=this.innerText;showDate("+i+",parseInt(myC_Top.cells[3].innerText));myC.parentElement.nextSibling.innerHTML=""">"+i+"年</td></tr>"; ystr+="<tr><td style="cursor:hand" onclick="createyear("+(year+20)+",myC_Top.cells[2])" align=center>下翻</td></tr>"; ystr+="</table>"; oDiv = myC.parentElement.nextSibling; oDiv.innerHTML=""; oDiv.innerHTML = ystr; showDiv(oDiv,obj.offsetTop+obj.offsetHeight,obj.offsetLeft); } function createmonth(month,obj)//创建月份选择 { var mstr; var oDiv; mstr="<table class="move1" cellspacing=0 cellpadding=2 width="+obj.offsetWidth+">"; for(i=1;i<13;i++) if (month==i) mstr+="<tr style="background-color:#909eff"><td style="color:black;height:16px;cursor:hand" align=center onclick="myC_Top.cells[3].innerText=this.innerText;showDate(parseInt(myC_Top.cells[2].innerText),"+i+");myC.parentElement.nextSibling.innerHTML=""">"+i+"月</td></tr>"; else mstr+="<tr><td align=center style="cursor:hand" onmouseover="divS(this)" onclick="myC_Top.cells[3].innerText=this.innerText;showDate(parseInt(myC_Top.cells[2].innerText),"+i+");myC.parentElement.nextSibling.innerHTML=""">"+i+"月</td></tr>"; mstr+="</table>"; oDiv = myC.parentElement.nextSibling; oDiv.innerHTML=""; oDiv.innerHTML = mstr; showDiv(oDiv,obj.offsetTop+obj.offsetHeight,obj.offsetLeft); } function showDiv(obj,top,left) { obj.style.pixelTop=top; obj.style.pixelLeft=left; } function myCMove(obj) { if(event.button==1) { var X = obj.clientLeft; var Y = obj.clientTop; obj.style.pixelLeft= X+(event.x-myC_x); obj.style.pixelTop= Y+(event.y-myC_y); window.status=myC_y; } } function showDiv2(obj) { inputName=obj.name; var e=obj; var ot = obj.offsetTop; var ol=obj.offsetLeft; while(obj=obj.parentElement){ot+=obj.offsetTop;ol+=obj.offsetLeft;} myC_div.style.pixelTop=ot+e.offsetHeight; myC_div.style.pixelLeft=ol; myC_div.style.display="block"; } function createInput(name) {myC_div.style.display="none"; document.write("<input type="text" name=""+name+"" size=20 onfocus="showDiv2(this)">"); } // --------------End --------------------- </script><script>var myCalendar=new myCalendar; myCalendar.year=2005; myCalendar.show(); myCalendar.input("txt1");</script><input type="text" name="test" onfocus="showDiv2(this)" readonly=true>
2023-07-26 02:48:272

js拖动div,显示坐标怎样相对于父层

将 #main 设定成 position:relative,里面的 absolute 的 x,y 位置就会是相对它而不是相对页面,就不用算得这麼辛苦了。
2023-07-26 02:48:351

jquery实现拖拽tr

案例和插件没什么区别吧,jquery UI里面 整合一下就好了
2023-07-26 02:48:531

怎么用js设置一个按钮点击按钮可以添加table的行

js设置一个按钮点击按钮可以添加table的行:1、你先要根据table的ID获取到table实例2、当单机按钮的时候,创建一个table行,然后添加到已经获取到的table中即可具体可参考:http://blog.csdn.net/adsdassadfasdfasdf/article/details/6047927
2023-07-26 02:49:032

JS如何获得动态增加行的行号

都贴这么多
2023-07-26 02:49:185

请教Ext高手我现在子窗口中如何得到父窗口中的值,没有分了请大家帮帮忙

把Ext改成parent.Ext试试
2023-07-26 02:49:332

HTML中img的属性有哪些

骨灰级工会经费
2023-07-26 02:50:053

用js怎么动态插入行

为什么不用jquery呢,那简单到不行了,用js操作Dom比较麻烦,如果你刚学js的话,那就先学js,如果你是学过js的话,建议学习jquery,你会感觉一切都变得简单!!!Jquery,你值得信赖!!!记得看私信!!!以下是js实现!!!百度一下有好多!!!<%@ page language="java" import="java.util.*,com.page.wash.giveclothing.*" pageEncoding="gbk"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>添加表格信息</title><meta http-equiv="pragma" content="no-cache" /><meta http-equiv="cache-control" content="no-cache" /><meta http-equiv="expires" content="0" /> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3" /><meta http-equiv="description" content="This is my page" /><script language="javascript" type="text/javascript"> function AddRow(){//添加一行var i =tab1.rows.length;var Nam=""div1"";var Cod="fuJ"+i;var newTr = tab1.insertRow();//添加列var newTd0 = newTr.insertCell();var newTd1 = newTr.insertCell();var newTd2 = newTr.insertCell();var newTd3 = newTr.insertCell();//设置列内容和属性newTd0.innerHTML = "<input type="checkbox" id="box1" onClick="GetRow()"/ /><input type="hidden" name="fuJ" id="+Cod+" />"; newTd1.innerHTML = " 衣服尺码";newTd2.innerHTML = " 衣服花色";newTd3.innerHTML = " 处理类型";}function DelRow(){//删除一行 var shu=0; var cheCou=document.all("box1"); for(var i=0;i<cheCou.length;i++) { if (cheCou[i].checked==true) { shu++; } } if(shu==cheCou.length) { alert("最少要添加一件衣服"); return; } else if(shu==0) { alert("请选择你要删除的信息"); return; } else if(shu==1) { for(var i=0;i<cheCou.length;i++) { if(cheCou[i].checked==true) { tab1.deleteRow(i+1); } } } else if(shu>1) { for(var a=0;a<shu;a++) { for(var i=0;i<cheCou.length;i++) { if(cheCou[i].checked==true) { tab1.deleteRow(i+1); break; } } } }}function GetRow(){ //获得行索引 //两个parentElement分别是TD和TR哟,rowIndex是TR的属性 //this.parentElement.parentElement.rowIndex cGetRow=window.event.srcElement.parentElement.parentElement.rowIndex; }</script> </head> <body><form name="form1" action="${pageContext.request.contextPath}/giveClothing.do?method=FuJiaFei" method="post" ><center> <fieldset> <legend><strong>动态添加一行表格</strong></legend> <input type=hidden id="hid" name="hid"/ /> <table id="tab1" align="center" border="1" cellPadding="4" cellSpacing="0" borderColorLight="#999999" borderColorDark="#ffffff" style="width:95%;word-break: break-all"> <thead> <tr> <th align="center" width="10%">选择</th> <th align="center" width="15%">衣服尺码</th> <th align="center" width="15%">衣服花色</th> <th align="center" width="15%">处理类别</th> </tr> </thead> <tr > <td><input type=checkbox id="box1" onClick="GetRow()" /> <input type="hidden" name="fuJ" id="fuJ1" /> </td> <td> 衣服尺码</td> <td> 衣服花色</td> <td> 处理类别</td> </tr> </table> <table align="center" border="1" cellPadding="4" cellSpacing="0" borderColorLight="#999999" borderColorDark="#ffffff" style="width:95%;word-break: break-all"> <tr> <td align="right"> <input type="button" name="Submit" value="增加一行" onclick="javascript:AddRow();" /> <input type="button" name="Submit" value="删除一行" onclick="javascript:DelRow();" /> </td> </tr> </table></form> </body></html>
2023-07-26 02:50:133

拖动DIV,效果不对,不知道哪里错了,请帮忙看看

跟据你的改编的,自已看看,是不是你要的<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><style><!--.aaa{ position:absolute; display:none; width:300px; height:130px; background-color:#FFFFFF; border:1px #CCCCCC solid;}.b{ height:20px; text-align:right; font-size:12px; border-bottom:1px #CCCCCC solid; line-height:20px; width:94%; float:left; text-align:center; cursor:hand;}.c{ height:20px; text-align:right; font-size:12px; border-bottom:1px #CCCCCC solid; line-height:20px; width:5%; float:left;}.d{ font-size:12px; padding:10px; line-height:23px;}.e{ width:100%; height:20px; line-height:20px; text-align:center;}.clear{ clear:both;}--></style></head><body><!----------------链接一--------------------><a href="#" onClick="javascript:divop("test1","show",1);" />链接1</a><a href="#" onClick="javascript:divop("test2","show",2);" />链接2</a><a href="#" onClick="javascript:divop("test3","show",3);" />链接3</a><a href="#" onClick="javascript:divop("test4","show",4);" />链接4</a></p><div id="test1" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test1","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test1","hid");" /></div></div><div id="test2" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test2","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test2","hid");" /></div></div><div id="test3" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test3","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test3","hid");" /></div></div><div id="test4" class="aaa"> <div class="b" onMouseDown="startDrag(this)" onMouseUp="stopDrag(this)" onMouseMove="drag(this)">请选择类型一</div> <div class="c"><span style="text-decoration:underline; cursor:hand;" onClick="javascript:divop("test4","hid");">X</span> </div> <div class="clear"></div> <div class="d">这里是内容 </div> <div class="e"><input type="button" value="下一步" /> <input type="button" value="关闭" onClick="javascript:divop("test4","hid");" /></div></div><script language="javascript">function $(id){ return document.getElementById(id);}function divop(objid,stat,num)//控制层的显示和隐藏{//alert(objid);if (stat=="show"){$(objid).style.display="block";$(objid).style.left=(num*20)+"px";//$(objid).style.top=(num*100)+"px";}else{$(objid).style.display="none";}}var x0=0,y0=0,x1=0,y1=0; var moveable=false; //开始拖动; function startDrag(obj){ if(event.button==1){ obj.setCapture(); var win = obj.parentNode; x0 = event.clientX; y0 = event.clientY; x1 = parseInt(win.offsetLeft); y1 = parseInt(win.offsetTop); moveable = true; } } //拖动; function drag(obj){ if(moveable){ var win = obj.parentNode; win.style.left = x1 + event.clientX - x0; win.style.top = y1 + event.clientY - y0; } } //停止拖动; function stopDrag(obj){ if(moveable){ obj.releaseCapture(); moveable = false; } } </script> </body></html>
2023-07-26 02:51:161

请问大佬们前端data-url怎么实现点击后跳转到data-url网址?

<a href="javascript:;" target="_blank" rel="nofollow">改为<a href="javascript:;" target="_blank" rel="nofollow" onclick="this.href=this.children[0].dataset.url;">所有都要改
2023-07-26 02:51:254

java中getelementbiclass怎么获取子节点

document.getElementsByClassName()或Element.getElementsByClassName,如果你说的是第二种,那么就可以找出子节点中含有此样式的节点。另外,这是Javascript在DOM中的方法,从应用场景来看,通过className很难分辨出父子节点,但还是可以利用offsetParent、parentElement、childElements可以找到它们之间的关系。
2023-07-26 02:51:391

html代码中img标签里的jqimg是什么意思?

jqimg是使用jquery.jqzoom.js插件放大图片使用的属性<div class="jqzoom"><img src="./images/pic_shop.png" style="width:200px; height:200px;" alt="" jqimg="./images/big.jpg" id="bigImg"/></div>
2023-07-26 02:51:472

透明png图片变灰色

ie6下png透明图片的确为灰色,你添加如下js就可以了:function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6. { var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (version < 7) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id="" + img.id + "" " : "" var imgClass = (img.className) ? "class="" + img.className + "" " : "" var imgTitle = (img.title) ? "title="" + img.title + "" " : "title="" + img.alt + "" " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style="" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src="" + img.src + "", sizingMethod="scale");"></span>" img.outerHTML = strNewHTML i = i-1 } } } } window.attachEvent("onload", correctPNG);
2023-07-26 02:51:561

HTML中table的上一个兄弟节和第一个子节点为什么是#text

文本节点也是节点你把换行去掉,就是直接的div了parentElement即可。
2023-07-26 02:52:042

javascript如何为一个节点的子节点添加事件

document.getElementById("aaa").document.getElementsByTagName("p").addEvent("onclick",test);
2023-07-26 02:52:142

js中怎样控制不满足条件时不让键盘输入

最经典的实现字符数控制的方案 当我们在ASP.NET开发时,经常会遇到一个头疼的问题:字符数的控制 由于数据库的字段长度是固定的,因此在进行字符输入时,最关键的就是控制字符的个数不能超过字段的长度,要不然,一个个异常会让人疯掉的。 对于单行文本框,不管是HTML控件还是Web控件,我们经常会使用MaxLength来控制,但这种控制无法控制到中文字符,即MaxLength=50的控制,可以输入50个英文与50个中文,这样的话,还是会导致中文字符数的溢出。 对于多行文本框,那就更惨了,使用MaxLenth根本不起作用的。下面提供的方案优势: 1)最佳的方法是在文本框中输入时,控制到最大字数,超过时不能进行输入;2)对于粘帖的情况也要能兼容,以前网上的方法不能控制到paste的情况;3)对于最后的一个中文字符,宁愿舍去也不能多一个字符,比如50的字符数,在第49个时,最后输入一个中文,会导致最终字数为51,而这种情况,推荐是不能输入中文,保证最终的字符数<=50最佳,因为放弃一个中文字符总比数据库报错要好吧。 4)为了提高开发效率,尽可能的减少代码量,此方案不需要为文本框添加任何事件,而是由脚本块自己解决,因此只需要把脚本块饮包含到页面中就可以了,这应该是相当方便了吧 完善版修改:由于前一个方案中,一些输入法无法激活onpress事件,导致对于中文的不支持,现在采用onkeyup事件处理,在处理方式上也进行了修改,原来的onpress事件是进行输入控制,而onkeyup只能对已经输入后的字数进行字数判断,过长的进行截短处理。在原方案中,有位朋友指出:数据采用n(type)系统不会报错,是的,如果采用n(type)的话,是以字符为基础的,可以不考虑数据库出错的可能性,但同样也存在一个界面显示的问题,比如界面上的Address值,希望是100个字符,如果不进行中英文字数区分,最多将输入100个中文,从而占200 个字节空间,导致Adress在显示时会超过预料的空间,界面搞得不易控制。因此,此方案还是有可取之处的。 具体新方案实现: 1)将以下的代码包含到页面中:<script language="javascript"> <!-- String.prototype.len=function(){ return this.replace(/[^/x00-/xff]/g,"**").length; } //Set maxlength for multiline TextBox function setMaxLength(object,length) { var result = true; var controlid = document.selection.createRange().parentElement().id; var controlValue = document.selection.createRange().text; var tempString=object.value; var tt=""; for(var i=0;i<length;i++) { if(tt.len()<length) tt=tempString.substr(0,i+1); else break; } if(tt.len()>length) tt=tt.substr(0,tt.length-1); object.value=tt; } //Check maxlength for multiline TextBox when paste function limitPaste(object,length) { var tempLength = 0; if(document.selection) { if(document.selection.createRange().parentElement().id == object.id) { tempLength = document.selection.createRange().text.len(); } } var tempValue = window.clipboardData.getData("Text"); tempLength = object.value.len() + tempValue.len() - tempLength; if (tempLength > length) { tempLength -= length; var tt=""; for(var i=0;i<tempValue.len()-tempLength;i++) { if(tt.len()<(tempValue.len()-tempLength)) tt=tempValue.substr(0,i+1); else break; } if(tt.len()<=0) { window.event.returnValue=false; } else { tempValue=tt; window.clipboardData.setData("Text", tempValue); window.event.returnValue = true; } } } function PressLength() { if(event.srcElement.type=="text" || event.srcElement.type=="textarea" ) { if(event.srcElement.length!=null) setMaxLength(event.srcElement,event.srcElement.length); } } function LimitLength() { if(event.srcElement.type=="text" || event.srcElement.type=="textarea" ) { if(event.srcElement.length!=null) limitPaste(event.srcElement,event.srcElement.length); } } document.documentElement.attachEvent("onkeyup", PressLength); document.documentElement.attachEvent("onpaste", LimitLength); //--> </script> 2)在需要控制的控件上添加length="n"(n为要控制的字数)即可,如: <INPUT type="text" length="3"> <TEXTAREA length="20" rows="2" cols="20"></TEXTAREA> <asp:TextBox id="TextBox1" runat="server" length="7"></asp:TextBox> <asp:TextBox id="TextBox2" runat="server" TextMode="MultiLine" length="10"></asp:TextBox> 上面是HTML控件与Web控件的例子,只要加一个length就可以了。 个人建议:1)可以把这个脚本块放在js文件中,进行引用即可 2)可以把脚本放在BasePage中,这样每个页面都可以使用了 3)可以使用这些脚本块,开发专门的服务器端控件。
2023-07-26 02:52:211

如何用js实现点击按钮使table某一单元格变为可编辑状态

获取TABLE中的值可以用下面的代码完成. <html> <head> <script language="javascript"> function doclick() { var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td alert("行号:" + (td.parentElement.rowIndex + 1) + ",内容:" + td.innerText); } </script> </head> <body> <table onclick="doclick()"> <tr> <td> 9:00 </td> <td> 10:00 </td> </tr> <tr> <td> 11:00 </td> <td> 12:00 </td> </tr> </table> </body> </html> 但是你所说的拖动到datagrid 中 形成时间带显示. 这个我看不太懂, 能举例说明 ?
2023-07-26 02:52:293

为何固定表头会偏移?

下面这样就可以了(我只修改了CSS):<html> <head> <title>固定表头 </title> <style type="text/css"> tr.locktr{ position:relative; top:expression((this.offsetParent.scrollTop>this.parentElement.parentElement.offsetTop? this.offsetParent.scrollTop-this.parentElement.parentElement.offsetTop-1:0)-1); left:-1;background-color:blue; } </style> </head> <body> 报表 <br> 2009.3.3 <br> 中国福建 <br> <br> <table border=1 bordercolor="#0000FF" style="border-collapse:collapse" cellpadding=3> <tr class="locktr"> <td bgcolor=gray>固定表头 </td> <td bgcolor=gray>测试 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> <tr> <td>1 </td> <td>2 </td> </tr> </table> </body> </html>
2023-07-26 02:52:481

js怎么找一个子元素的父元素

obj.offsetParent
2023-07-26 02:52:584

myeclipse里面 jsp代码颜色设置?如图上的底色是灰色的,怎么设置为其他颜色!

jsp 提示框颜色设置方法:jsp中可以嵌入通用的js写的弹出框提示,只要根据不同场景传不同参数就可以了。参考代码如下:<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>弹出窗口(可拖动,背景灰色透明)</title><script type="text/javascript"><!--/*FileName:AlertMsg.jstitle:提示标题content:提示的内容*/document.write("<style type="text/css">*{padding:0; margin:0}.close{float:right;cursor:default}</style>")function $(id){ return document.getElementById(id)}function AlertMsg(title,content){var msgw,msgh,msgbg,msgcolor,bordercolor,titlecolor,titlebg,con;con = "<form><table style="margin:10px 15px 15px 15px; border:0;"><tr><th style="border:0; line-height:22px; padding:3px 0; vertical-align:top;font-weight:bold;">分类:</th><td style="border:0; line-height:22px; padding:3px 0; vertical-align:top;width:75%;"><input type="text" name="typename" size="20"/></td></tr><tr><th></th><td style="border:0; line-height:22px; padding:3px 0; vertical-align:top;width:75%;"><button style="line-height:normal;" type="submit" onclick="return submitform()">确定</button> <button style="line-height:normal;" type="reset">取消</button></td></tr></table></form>";//弹出窗口设置msgw = 300; //窗口宽度msgh = 150; //窗口高度msgbg = "#FFF"; //内容背景msgcolor = "#000"; //内容颜色bordercolor = "#000"; //边框颜色titlecolor = "#FFF"; //标题颜色titlebg = "#369"; //标题背景//遮罩背景设置var sWidth,sHeight;sWidth = screen.availWidth;sHeight = document.body.scrollHeight;//创建遮罩背景var maskObj = document.createElement("div");maskObj.setAttribute("id","maskdiv");maskObj.style.position = "absolute";maskObj.style.top = "0";maskObj.style.left = "0";maskObj.style.background = "#777";maskObj.style.filter = "Alpha(opacity=30);";maskObj.style.opacity = "0.3";maskObj.style.width = sWidth + "px";maskObj.style.height = sHeight + "px";maskObj.style.zIndex = "10000";document.body.appendChild(maskObj);//创建弹出窗口var msgObj = document.createElement("div")msgObj.setAttribute("id","msgdiv");msgObj.style.position ="absolute";msgObj.style.top = (screen.availHeight - msgh) / 4 + "px";msgObj.style.left = (screen.availWidth - msgw) / 2 + "px";msgObj.style.width = msgw + "px";msgObj.style.height = msgh + "px";msgObj.style.fontSize = "12px";msgObj.style.background = msgbg;msgObj.style.border = "1px solid " + bordercolor;msgObj.style.zIndex = "10001";//创建标题var thObj = document.createElement("div");thObj.setAttribute("id","msgth");thObj.className = "DragAble";thObj.style.cursor = "move";thObj.style.padding = "4px 6px";thObj.style.color = titlecolor;thObj.style.background = titlebg;var titleStr = "<a class="close" title="关闭" style="cursor:pointer" onclick="CloseMsg()">关闭</a>"+"<span>"+ title +"</span>";thObj.innerHTML = titleStr;//创建内容var bodyObj = document.createElement("div");bodyObj.setAttribute("id","msgbody");bodyObj.style.padding = "10px";bodyObj.style.lineHeight = "1.5em";bodyObj.innerHTML = con;var txt = document.createTextNode(content)bodyObj.appendChild(txt);//生成窗口document.body.appendChild(msgObj);$("msgdiv").appendChild(thObj);$("msgdiv").appendChild(bodyObj);}function CloseMsg(){//移除对象document.body.removeChild($("maskdiv"));$("msgdiv").removeChild($("msgth"));$("msgdiv").removeChild($("msgbody"));document.body.removeChild($("msgdiv"));}//拖动窗口var ie = document.all; var nn6 = document.getElementById&&!document.all; var isdrag = false; var y,x; var oDragObj; function moveMouse(e) { if (isdrag) { oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px"; oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px"; return false; } } function initDrag(e) { var oDragHandle = nn6 ? e.target : event.srcElement; var topElement = "HTML"; while (oDragHandle.tagName != topElement && oDragHandle.className != "DragAble") { oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement; } if (oDragHandle.className=="DragAble") { isdrag = true; oDragObj = oDragHandle.parentNode; nTY = parseInt(oDragObj.style.top); y = nn6 ? e.clientY : event.clientY; nTX = parseInt(oDragObj.style.left); x = nn6 ? e.clientX : event.clientX; document.onmousemove = moveMouse; return false; } } document.onmousedown = initDrag; document.onmouseup = new Function("isdrag=false"); //--></script></head><body><table width="600" border="0" cellspacing="0" cellpadding="0"><tr ><td height="100" align="center" ><p><a href="javascript:AlertMsg("温馨提示","")">点我试试!</a></p></td></tr></table></div></body></html>
2023-07-26 02:53:391

javascript在使用过程中,浏览器之间存在什么样的差异

基本没什么差异、、但是会有一些属性是个别浏览器特有的,其它浏览器没有。。
2023-07-26 02:54:052

怎样让一个div高度自适应浏览器高度

让一个div高度自适应浏览器高度的方法:1、获取到window的innerHeight、clientHeight根据这两个参数定义div的高度。function resizeElementHeight(element) { var height = 0; var body = window.document.body; if (window.innerHeight) { height = window.innerHeight; } else if (body.parentElement.clientHeight) { height = body.parentElement.clientHeight; } else if (body && body.clientHeight) { height = body.clientHeight; } element.style.height = ((height - element.offsetTop) + "px");}2、定义div的高度的方法:document.getElementById("yourDiv").height = height;
2023-07-26 02:54:152

sql语句建表的时候,末尾auto_increment是什么意思?

sql语句建表的时候,末尾auto_increment是什么意思? 可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。 你可以自己百度下,很多回答 mysql建表里PRIMARY, AUTO_INCREMENT,UNSIGNED等等是什么意思? 我举个小例子给你简单解释一下。 例: CREATE TABLE TABLE_1 ( ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。 NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;(ID列从100开始自增) PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。 UNSIGNED是无符号的意思,代表该栏位没有正负。 AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。(例如在上面的例子中,ID列每增加一条记录,便会从100自增) 。 我想通过上面的例子,你应该可以理解一些了,不明白再问我。谢谢。 mysql:phpadmin软体中auto_increment 是什么意思? 自动生成唯一序列的,类似ORACLE中的SEQUENCE。 PL/SQL 建立表的时候那些栏位都是什么意思? 大概分三部 -- Create table 建表 -- Add ments to the table 增加表注释 -- Create/Recreate primary, unique and foreign key constraints 新增表约束 SQL语句中&Sql是什么意思? &是且的意思,这句话的意思是 从article表中选择所有列,这些列满足type_id为Data_Type&Sql的值。Data_Type&Sql是一个表示式。 不过。。。感觉怪怪的。。。 SQL语句declare是什么意思? declare 宣布 申报 宣告 希望可以帮到你! 不懂可以追问! 满意请采纳! 谢谢! SQL语句是什么意思? 以下摘自百度 SQL基本语句 来自:SQL程式设计技巧 掌握SQL四条最基本的资料操作语句:Insert,Select,Update和Delete。 练掌握SQL是资料库使用者的宝贵财 富。在本文中,我们将引导你掌握四条最基本的资料操作语句—SQL的核心功能—来依次介绍比较操作符、选择断言以及三值逻辑。当你完成这些学习后,显然你已经开始算是精通SQL了。 在我们开始之前,先使用CREATE TABLE语句来建立一个表(如图1所示)。DDL语句对资料库物件如表、列和视进行定义。它们并不对表中的行进行处理,这是因为DDL语句并不处理资料库中实际的资料。这些工作由另一类SQL语句—资料操作语言(DML)语句进行处理。 SQL中有四种基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由于这是大多数SQL使用者经常用到的,我们有必要在此对它们进行一一说明。在图1中我们给出了一个名为EMPLOYEES的表。其中的每一行对应一个特定的雇员记录。请熟悉这张表,我们在后面的例子中将要用到它。 INSERT语句 使用者可以用INSERT语句将一行记录插入到指定的一个表中。例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句: INSERT INTO EMPLOYEES VALUES ("Smith","John","1980-06-10", "Los Angles",16,45000); 通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。这些列按照我们建立表时定义的顺序排列。在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。 我们说过系统会“试着”将值填入,除了执行规则之外它还要进行型别检查。如果型别不符(如将一个字串填入到型别为数字的列中),系统将拒绝这一次操作并返回一个错误资讯。 如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。这是因为SQL提供对事务的支援。一次事务将资料库从一种一致性转移到另一种一致性。如果事务的某一部分失败,则整个事务都会失败,系统将会被恢复(或称之为回退)到此事务之前的状态。 回到原来的INSERT的例子,请注意所有的整形十进位制数都不需要用单引号引起来,而字串和日期型别的值都要用单引号来区别。为了增加可读性而在数字间插入逗号将会引起错误。记住,在SQL中逗号是元素的分隔符。 同样要注意输入文字值时要使用单引号。双引号用来封装限界识别符号。 对于日期型别,我们必须使用SQL标准日期格式(yyyy-mm-dd),但是在系统中可以进行定义,以接受其他的格式。当然,2000年临近,请你最好还是使用四位来表示年份。 既然你已经理解了INSERT语句是怎样工作的了,让我们转到EMPLOYEES表中的其他部分: INSERT INTO EMPLOYEES VALUES ("Bunyan","Paul","1970-07-04", "Boston",12,70000); INSERT INTO EMPLOYEES VALUES ("John","Adams","1992-01-21", "Boston",20,100000); INSERT INTO EMPLOYEES VALUES ("Smith","Pocahontas","1976-04-06", "Los Angles",12,100000); INSERT INTO EMPLOYEES VALUES ("Smith","Bessie","1940-05-02", "Boston",5,200000); INSERT INTO EMPLOYEES VALUES ("Jones","Davy","1970-10-10", "Boston",8,45000); INSERT INTO EMPLOYEES VALUES ("Jones","Indiana","1992-02-01", "Chicago",NULL,NULL); 在最后一项中,我们不知道Jones先生的工薪级别和年薪,所以我们输入NULL(不要引号)。NULL是SQL中的一种特殊情况,我们以后将进行详细的讨论。现在我们只需认为NULL表示一种未知的值。 有时,像我们刚才所讨论的情况,我们可能希望对某一些而不是全部的列进行赋值。除了对要省略的列输入NULL外,还可以采用另外一种INSERT语句,如下: INSERT INTO EMPLOYEES( FIRST_NAME, LAST_NAME, HIRE_DATE, BRANCH_OFFICE) VALUE( "Indiana","Jones", "1992-02-01","Indianapolis"); 这样,我们先在表名之后列出一系列列名。未列出的列中将自动填入预设值,如果没有设定预设值则填入NULL。请注意我们改变了列的顺序,而值的顺序要对应新的列的顺序。如果该语句中省略了FIRST_NAME和LAST_NAME项(这两项规定不能为空),SQL操作将失败。 让我们来看一看上述INSERT语句的语法图: INSERT INTO table [(column { ,column})] VALUES (columnvalue [{,columnvalue}]); 和前一篇文章中一样,我们用方括号来表示可选项,大括号表示可以重复任意次数的项(不能在实际的SQL语句中使用这些特殊字元)。VALUE子句和可选的列名列表中必须使用圆括号。 SELECT语句 SELECT语句可以从一个或多个表中选取特定的行和列。因为查询和检索资料是资料库管理中最重要的功能,所以SELECT语句在SQL中是工作量最大的部分。实际上,仅仅是访问资料库来分析资料并生成报表的人可以对其他SQL语句一窍不通。 SELECT语句的结果通常是生成另外一个表。在执行过程中系统根据使用者的标准从资料库中选出匹配的行和列,并将结果放到临时的表中。在直接SQL(direct SQL)中,它将结果显示在终端的显示屏上,或者将结果送到印表机或档案中。也可以结合其他SQL语句来将结果放到一个已知名称的表中。 SELECT语句功能强大。虽然表面上看来它只用来完成本文第一部分中提到的关系代数运算“选择”(或称“限制”),但实际上它也可以完成其他两种关系运算—“投影”和“连线”,SELECT语句还可以完成聚合计算并对资料进行排序。 SELECT语句最简单的语法如下: SELECT columns FROM tables; 当我们以这种形式执行一条SELECT语句时,系统返回由所选择的列以及使用者选择的表中所有指定的行组成的一个结果表。这就是实现关系投影运算的一个形式。 让我们看一下使用图1中EMPLOYEES表的一些例子(这个表是我们以后所有SELECT语句例项都要使用的。而我们在图2和图3中给出了查询的实际结果。我们将在其他的例子中使用这些结果)。 假设你想检视雇员工作部门的列表。那下面就是你所需要编写的SQL查询: SELECT BRANCH_OFFICE FROM EMPLOYEES; 以上SELECT语句的执行将产生如图2中表2所示的结果。 由于我们在SELECT语句中只指定了一个列,所以我们的结果表中也只有一个列。注意结果表中具有重复的行,这是因为有多个雇员在同一部门工作(记住SQL从所选的所有行中将值返回)。要消除结果中的重复行,只要在SELECT语句中加上DISTINCT子句: SELECT DISTINCT BRANCH_OFFICE FROM EMPLOYEES; 这次查询的结果如表3所示。 现在已经消除了重复的行,但结果并不是按照顺序排列的。如果你希望以字母表顺序将结果列出又该怎么做呢?只要使用ORDER BY子句就可以按照升序或降序来排列结果: SELECT DISTINCT BRANCH_OFFICE FROM EMPLOYEES ORDER BY BRANCH_OFFICE ASC; 这一查询的结果如表4所示。请注意在ORDER BY之后是如何放置列名BRANCH _OFFICE的,这就是我们想要对其进行排序的列。为什么即使是结果表中只有一个列时我们也必须指出列名呢?这是因为我们还能够按照表中其他列进行排序,即使它们并不显示出来。列名BRANCH_ OFFICE之后的关键字ASC表示按照升序排列。如果你希望以降序排列,那么可以用关键字DESC。 同样我们应该指出ORDER BY子句只将临时表中的结果进行排序;并不影响原来的表。 假设我们希望得到按部门排序并从工资最高的雇员到工资最低的雇员排列的列表。除了工资括号中的内容,我们还希望看到按照聘用时间从最近聘用的雇员开始列出的列表。以下是你将要用到的语句: SELECT BRANCH_OFFICE,FIRST_NAME, LAST_NAME,SALARY,HIRE_DATE FROM EMPLOYEES ORDER BY SALARY DESC, HIRE_DATE DESC; 这里我们进行了多列的选择和排序。排序的优先顺序由语句中的列名顺序所决定。SQL将先对列出的第一个列进行排序。如果在第一个列中出现了重复的行时,这些行将被按照第二列进行排序,如果在第二列中又出现了重复的行时,这些行又将被按照第三列进行排序……如此类推。这次查询的结果如表5所示。 将一个很长的表中的所有列名写出来是一件相当麻烦的事,所以SQL允许在选择表中所有的列时使用*号: SELECT * FROM EMPLOYEES; 这次查询返回整个EMPLOYEES表,如表1所示。 下面我们对开始时给出的SELECT语句的语法进行一下更新(竖直线表示一个可选项,允许在其中选择一项。): SELECT [DISTINCT] (column [{, columns}])| * FROM table [ {, table}] [ORDER BY column [ASC] | DESC [ {, column [ASC] | DESC }]]; 定义选择标准 在我们目前所介绍的SELECT语句中,我们对结果表中的列作出了选择但返回的是表中所有的行。让我们看一下如何对SELECT语句进行限制使得它只返回希望得到的行: SELECT columns FROM tables [WHERE predicates]; WHERE子句对条件进行了设定,只有满足条件的行才被包括到结果表中。这些条件由断言(predicate)进行指定(断言指出了关于某件事情的一种可能的事实)。如果该断言对于某个给定的行成立,该行将被包括到结果表中,否则该行被忽略。在SQL语句中断言通常通过比较来表示。例如,假如你需要查询所有姓为Jones的职员,则可以使用以下SELECT语句: SELECT * FROM EMPLOYEES WHERE LAST_NAME = "Jones"; LAST_NAME = "Jones"部分就是断言。在执行该语句时,SQL将每一行的LAST_NAME列与“Jones”进行比较。如果某一职员的姓为“Jones”,即断言成立,该职员的资讯将被包括到结果表中(见表6)。 使用最多的六种比较 我们上例中的断言包括一种基于“等值”的比较(LAST_NAME = "Jones"),但是SQL断言还可以包含其他几种型别的比较。其中最常用的为: 等于 = 不等于 <> 小于 < 大于 > 小于或等于 <= 大于或等于 >= 下面给出了不是基于等值比较的一个例子: SELECT * FROM EMPLOYEES WHERE SALARY > 50000; 这一查询将返回年薪高于$50,000.00的职员(参见表7)。 逻辑连线符 有时我们需要定义一条不止一种断言的SELECT语句。举例来说,如果你仅仅想检视Davy Jones的资讯的话,表6中的结果将是不正确的。为了进一步定义一个WHERE子句,使用者可以使用逻辑连线符AND,OR和NOT。为了只得到职员Davy Jones的记录,使用者可以输入如下语句: SELECT * FROM EMPLOYEES WHERE LAST_NAME = "Jones" AND FIRST_NAME = "Davy"; 在本例中,我们通过逻辑连线符AND将两个断言连线起来。只有两个断言都满足时整个表示式才会满足。如果使用者需要定义一个SELECT语句来使得当其中任何一项成立就满足条件时,可以使用OR连线符: SELECT * FROM EMPLOYEES WHERE LAST_NAME = "Jones" OR LAST_NAME = "Smith"; 有时定义一个断言的最好方法是通过相反的描述来说明。如果你想要检视除了Boston办事处的职员以外的其他所有职员的资讯时,你可以进行如下的查询: SELECT * FROM EMPLOYEES WHERE NOT(BRANCH_OFFICE = "Boston"); 关键字NOT后面跟着用圆括号括起来的比较表示式。其结果是对结果取否定。如果某一职员所在部门的办事处在Boston,括号内的表示式返回true,但是NOT操作符将该值取反,所以该行将不被选中。 断言可以与其他的断言巢状使用。为了保证它们以正确的顺序进行求值,可以用括号将它们括起来: SELECT * FROM EMPLOYEES WHERE (LAST_NAME = "Jones" AND FIRST_NAME = "Indiana") OR (LAST_NAME = "Smith" AND FIRST_NAME = "Bessie"); SQL沿用数学上标准的表示式求值的约定—圆括号内的表示式将最先进行求值,其他表示式将从左到右进行求值。 以上对逻辑连线符进行了说明,在对下面的内容进行说明之前,我们再一次对SELECT语句的语法进行更新: SELECT [DISTINCT] (column [{, column } ] )| * FROM table [ { , table} ] [ORDER BY column [ASC] | [DESC [{ , column [ASC] | [DESC } ] ] WHERE predicate [ { logical-connector predicate } ]; NULL和三值逻辑 在SQL中NULL是一个复杂的话题,关于NULL的详细描述更适合于在SQL的高阶教程而不是现在的入门教程中进行介绍。但由于NULL需要进行特殊处理,并且你也很可能会遇到它,所以我们还是简略地进行一下说明。 首先,在断言中进行NULL判断时需要特殊的语法。例如,如果使用者需要显示所有年薪未知的职员的全部资讯,使用者可以使用如下SELECT语句: SELECT * FROM EMPLOYEES WHERE SALARY IS NULL; 相反,如果使用者需要所有已知年薪资料的职员的资讯,你可以使用以下语句: SELECT * FROM EMPLOYEES WHERE SALARY IS NOT NULL; 请注意我们在列名之后使用了关键字IS NULL或IS NOT NULL,而不是标准的比较形式:COLUMN = NULL、COLUMN <> NULL或是逻辑操作符NOT(NULL)。 这种形式相当简单。但当你不明确地测试NULL(而它们确实存在)时,事情会变得很混乱。 例如,回过头来看我们图1中的EM-PLOYEES表,可以看到Indiana Jones的工薪等级或年薪值都是未知的。这两个列都包含NULL。可以想象执行如下的查询: SELECT * FROM EMPLOYEES WHERE GRADE <= SALARY; 此时,Indiana Jones应该出现在结果表中。因为NULL都是相等的,所以可以想象它们是能够通过GRADE小于等于SALARY的检查的。这其实是一个毫无疑义的查询,但是并没有关系。SQL允许进行这样的比较,只要两个列都是数字型别的。然而,Indiana Jones并没有出现在查询的结果中,为什么? 正如我们早先提到过的,NULL表示未知的值(而不是象某些人所想象的那样表示一个为NULL的值)。对于SQL来说意味着这个值是未知的,而只要这个值为未知,就不能将其与其他值比较(即使其他值也是NULL)。所以SQL允许除了在true 和false之外还有第三种类型的真值,称之为“非确定”(unknown)值。 如果比较的两边都是NULL,整个断言就被认为是非确定的。将一个非确定断言取反或使用AND或OR与其他断言进行合并之后,其结果仍是非确定的。由于结果表中只包括断言值为“真”的行,所以NULL不可能满足该检查。从而需要使用特殊的操作符IS NULL和IS NOT NULL。 UPDATE语句 UPDATE语句允许使用者在已知的表中对现有的行进行修改。 例如,我们刚刚发现Indiana Jones的等级为16,工资为$40,000.00,我们可以通过下面的SQL语句对资料库进行更新(并清除那些烦人的NULL)。 UPDATE EMPLOYEES SET GRADE = 16, SALARY = 40000 WHERE FIRST_NAME = "Indiana" AND LAST_NAME = "Jones"; 上面的例子说明了一个单行更新,但是UPDATE语句可以对多行进行操作。满足WHERE条件的所有行都将被更新。如果,你想让Boston办事处中的所有职员搬到New York,你可以使用如下语句: UPDATE EMPLOYEES SET BRANCH_OFFICE = "New York" WHERE BRANCH_OFFICE = "Boston"; 如果忽略WHERE子句,表中所有行中的部门值都将被更新为"New York"。 UPDATE语句的语法流图如下面所示: UPDATE table SET column = value [{, column = value}] [ WHERE predicate [ { logical-connector predicate}]]; DELETE语句 DELETE语句用来删除已知表中的行。如同UPDATE语句中一样,所有满足WHERE子句中条件的行都将被删除。由于SQL中没有UNDO语句或是“你确认删除吗?”之类的警告,在执行这条语句时千万要小心。如果决定取消Los Angeles办事处并解雇办事处的所有职员,这一卑鄙的工作可以由以下这条语句来实现: DELETE FROM EMPLOYEES WHERE BRANCH_OFFICE = "Los Angeles"; 如同UPDATE语句中一样,省略WHERE子句将使得操作施加到表中所有的行。 DELETE语句的语法流图如下面所示: DELETE FROM table [WHERE predicate [ { logical-connector predicate} ] ]; 现在我们完成了资料操作语言(DML)的主要语句的介绍。我们并没有对SQL能完成的所有功能进行说明。SQL还提供了许多的功能,如求平均值、求和以及其他对表中资料的计算,此外SQL还能完成从多个表中进行查询(多表查询,或称之为连线)的工作。这种语言还允许你使用GRANT和REVOKE命令控制使用者的资料访问许可权。 建立表的sql语句 其实这个是很简单的问题,相信书中绝对能找到答案! 举例: create table [学生] ( 学号 char(8) not null primarykey, 姓名 varchar(8) not null ) 上面写了两列,其余差不多,至于不允许有重复姓名,加上“约束”就行了。 祝你进步! sql server 2000 新建表的SQL语句 create table 表名 ( 栏位名 栏位型别 栏位名 栏位型别 栏位名 栏位型别 栏位名 栏位型别 . . . . . . ) SQL语句 "%(%" 是什么意思 栏位 like "%(%" 吗? 如果是就是找栏位中包括“(”的行集 %号是万用字元,代表任意
2023-07-26 02:46:531

车辆显示ebd是什么意思

Ebd是一种电动制动力分配系统。当车辆显示ebd常亮时,表明电子平衡系统异常。首先检查四个车轮的速度传感器,然后检查ABS电磁阀。一般当你看到ebd的时候,你会看到ABS。ebd其实就是ABS的辅助功能,可以提高ABS的效率,让汽车更好更安全。简单来说,ebd就是在汽车刹车的瞬间。计算四个轮胎的摩擦系数,调整制动装置,使制动力和摩擦力相匹配,避免甩尾或回转。因此,ebd基于ABS来平衡各轮胎的有效抓地力,提高制动平衡,缩短制动距离。从工作性质来看,ebd实际上是在ABS的控制计算机上增加了一个控制软件,机械系统与ABS完全一致。虽然效果不同,但两者的本质是一样的。它只是ABS系统的有效补充。一般可以和ABS结合使用,提高ABS的效率。
2023-07-26 02:46:561

求河南cs1.5服务器

1#KeLeBar CS1.5 Server 218.29.50.120:27016 ---- 1#-XinYu.CS1.5.Server 218.28.4.13:27111 ZJ netbar cs 1.5 Server #1 218.28.2.46:27015 ---- ZJ netbar cs 1.5 Server #2 218.28.2.46:27016 ---- Shen Lan 1# 219.154.55.240:27015 ---- Xxinfo 1# 1.5 Server 202.102.229.180:27015 ---- 郑州服务器 HongYu(CD)#3CS1.5 Server 61.154.104.241:27017 218.28.2.46:27015 郑州卓绝ZJ netbar 1# 218.28.2.46:27016 郑州卓绝ZJ netbar 2# 218.28.2.46:27017 郑州卓绝CS.SpiRit 218.28.15.110:27015 郑州MOONBBS1# 218.28.15.110:27016 郑州MOONBBS2# 202.102.245.59:27015 商都i&K - Don"t Cheat 219.154.55.240:27015 郑州深蓝Shen Lan1# 219.154.55.240:27016 郑州深蓝Shen Lan2# 218.28.4.243:27015 郑州子月beidou cs 1.5 218.28.9.245:27017 郑州蜘蛛Zhi Zhu Wang 202.102.233.131:27015 驻马店=WAR= 218.28.4.13:27111 郑州信誉-XinYu.1# 218.28.4.13:27222 郑州信誉-XinYu.2# 218.28.4.13:27333 郑州信誉-XinYu.3# 218.28.4.13:27444 郑州信誉-XinYu.4# 218.28.4.205:27016 南阳玫瑰RoSe CS1.51# 218.28.4.205:27017 南阳玫瑰RoSe CS1.52# 218.28.4.205:27018 南阳玫瑰RoSe CS1.53# 218.28.92.86:27015 南阳金玫RoseNetBar1# 218.28.13.122:27015 =C4=TeaM-4# 218.28.249.33:27015 =ADAG=1# 密码:ADAG 218.28.249.33:27016 =ADAG=2# 密码:ADAG 61.136.114.158:27015 郑州Yu Feng 61.54.192.4:27015 三门峡SMX.CNC.CS"1# 61.54.192.4:27016 三门峡SMX.CNC.CS"2# 218.28.6.114:27016 Hua Yi CS1.5 #1 218.28.7.92:27015 郑州至诚1# 218.28.7.92:27016 郑州至诚2# 210.76.0.7:27015 平顶山P.Star | ForEver 61.163.231.35:27017 P.Star | CS1.6(2717)VAC 3# 219.157.64.226:27017 洛阳鹏飞PENGFEI CS 3# 219.157.70.230:27015 洛阳钟情LuoYang Zhong Qing 61.54.104.241:27015 HongYu(CD)1# 61.54.104.241:27016 HongYu(CD)2# 61.54.104.241:27017 HongYu(CD)3# 202.102.234.89:27015 商丘网巢游戏联盟NetNest1# 202.102.234.89:27016 商丘网巢游戏联盟NetNest2# 211.157.100.153:27015 Tian Ya Hai Jiao 97. 202.102.234.135:27015 濮阳信息港1# 202.102.229.180:27015 新乡信息港1# 202.102.229.180:27016 新乡信息港2# 61.54.254.146:27015 漯河信息港LHINFO ### Game 202.110.119.75:27015 开封战队-=[K.F]=- #1 202.102.233.210:27015 信阳菊生Ju Sheng1# 202.102.233.30:27015 许昌BeiBei--WangBa 219.156.138.39:27016 CD4.19 HN-XianDai 3# 202.102.247.245:27015 >DH_GAME<_-]T.P[-.6# Cs1.5SeRvEr 218.28.92.59:27016 1# 南阳[CHN]联盟 CS1.6 [VAC] 218.28.9.245:27017 ZhiZhuWang CS1.5 Server 218.28.9.245:27016 yrcccab"s CS1.5 Server 202.102.233.131:27015 CNC-ZMD-SeRvEr <2#> 218.28.249.33:27015 =ADAG= 1# CS Server 218.28.249.33:27017 CHINA CNC 4#TEST 1.5 SERVER 218.28.13.122:27015 =C4= TEAM -4# 202.102.245.59:27015 i&K - Don"t Cheat 202.102.234.100:27015 4# NetNest CS1.5 Server 218.28.9.238:27015 nTu CS Server 218.28.4.205:27016 1#RoSe CS1.5 Server 202.110.119.88:27015 TLF-Forever 202.102.234.100:27016 3# NetNest CS1.5 Server 202.102.234.89:27016 NF-Clan Base 61.54.254.149:27016 LHINFO #5 Game v1.5 Server 61.54.192.4:27016 2# *MZ*-CN-CS"1.5 218.28.2.46:27015 ZJ netbar cs 1.5 Server #1 61.54.254.139:27016 LHINFO #2 Game v1.5 Server 61.163.231.35:27016 P.Star | CS1.5 #3 218.28.11.107:27015 ZongHeng & SS server 61.54.254.149:27017 LHINFO #6 Game v1.5 Server 218.28.105.2:27016 CHINA CNC 2#TEST 1.5 SERVER 61.136.114.158:27015 YuFeng <H&K> 218.28.249.33:27016 =ADAG= 2# CS Server 218.28.4.243:27015 ziyue cs 1.5 218.28.10.163:27555 5#-XinYu.CS-1.5 Server 218.28.4.13:27222 2#-XinYu.CS-1.5 Server 218.28.4.13:27111 1#-XinYu.CS-1.5 Server 218.28.2.46:27016 ZJ netbar cs 1.5 Server #2 218.28.2.46:27017 ZJ netbar cs 1.5 -=X-man=- #3 218.28.10.124:27017 =HNR-IT= CS1.5 Server! 61.163.233.156:27016 kings no cd-key CS"1.5 Server 202.102.249.19:27028 =Danger= 1# CS-1.5 Server 218.28.11.107:27018 SS - clan 2# server 218.28.52.22:27015 [nEw.Hn] CS 1.5 Server #1 218.9.239.154:27015 [GoldBillow] CS 1.5 Server
2023-07-26 02:46:571

求《金陵十二君》全文完结+全部番外,一定要全部!!!864085532 谢谢!!!

2023-07-26 02:46:581

大学教授认为双缝干涉实验是假的,你怎么看?

双缝干涉实验是物理学的经典实验,是真实可重复的。没有任何可以质疑的地方。但凡质疑的,都是不懂物理的民科。双缝干涉现象是微观粒子波粒二象性的实验体现,在微观世界,粒子是以波函数的形式存在,双缝干涉实验进一步验证了波函数的存在。微观粒子的波粒二象性还体现在电子上,电子围绕原子核运动时,是以电子云的形态存在。基于这些事实,德布罗意推广这一现象到宏观世界,提出了物质波的理论,并数学推导出了物质波的波长。波粒二象性的理念在我们日常生活的3维世界是难以理解的,但如果放到5维世界中,就很容易理解了。以电子云为例,电子围绕原子核运动有多种可能的运动轨迹,这些轨迹汇集起来,就形成了云,当你去探测这个电子是,你从一条经过探测器轨道上捕获了电子,这时候你观察到了这条轨道上的粒子,换成物理语言,波函数塌缩到了这个粒子。在5维空间里,其他轨道上的粒子同一时刻依然存在,只是探测器看不到。所以说,波粒二象性是高维空间,特别是5维空间的完美诠释。是世界本来的样子。
2023-07-26 02:47:002

kiss goodbye 什么意思?

吻别
2023-07-26 02:46:518

business administration,marketing,international business management等等,那个较好

工商管理市场营销国际贸易和管理营销和管理商业学士我是读国际贸易的,如果你的英语好,而且努力考一些单证之类的,外企会比较需要,但是工作累,压力也挺大的。如果说是市场营销的话我有同学在学,关键是看你的口才和营销的产品,对其了解和口才好,大胆的人可以读这个专业,因为销售做的好,很有得赚。另外几个的话其实也是大同小异的。关键是看你的偏好和个性。再者现在找工作很少能完全对口,希望你好好学习,这样就业机会就更大,比人家更有竞争力。
2023-07-26 02:46:511

《Sister YuFeng And Obama 》
2023-07-26 02:46:502

第一次鸦片战争中,在吴淞口炮台英勇抗敌牺牲的清军将领是

B 陈化成
2023-07-26 02:46:503