⑴ jsp頁面上做非空判斷
jsp頁面的非空判斷一般由js判斷,判斷方法有多種。
1、js獲取對應輸入框的值value
2、直接利用value==''判斷是否非空或者利用正則表達式校驗value
3、value為空彈出提示給用戶
示例:
頁面有如下輸入框:
<input type="text" id="name" value=""/>
判斷方法:
functionvalidEmpty(){
//獲取輸入框的輸入值
varname=document.getElementById('name').value;
if(name==null||name==''){
alert("username不可為空");
returnfalse;
}
//用正則判斷,至少要輸入一個非空字元
varregex=/^S+$/g;
if(!name.test(regex)){
alert("username不可為空");
returnfalse;
}
}
⑵ js中用鏈接實現打開本地文件對話框
/* 用如下代碼把該函數應用到一個HTML文件中:
<script src="browseFolder.js"></script>
或把下面代碼直接COPY到<script language="javascript">...</script>標簽中;
用一般的觸發函數均可在HTML文件中使用該函數
例如:<input type="button" onclick="BrowseFolder()" />
注意:請定義NAME為savePath的輸入框接收或顯示返回的值,例如:
<input type="text" name="savePath" />
特別注意的是,由於安全方面的問題,你還需要如下設置才能使本JS代碼正確運行,
否者會出現"沒有許可權 "的問題.
1、設置可信任站點(例如本地的可以為:http://localhost )
2、其次:可信任站點安全級別自定義設置中:設置下面的選項
"對沒有標記為安全的ActiveX控制項進行初始化和腳本運行"----"啟用 "
*/
function BrowseFolder(){
try{
var Message = "請選擇文件夾"; //選擇框提示信息
var Shell = new ActiveXObject( "Shell.Application" );
var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目錄為:我的電腦
//var Folder = Shell.BrowseForFolder(0,Message,0); //起始目錄為:桌面
if(Folder != null){
Folder = Folder.items(); // 返回 FolderItems 對象
Folder = Folder.item(); // 返回 Folderitem 對象
Folder = Folder.Path; // 返迴路徑
if(Folder.charAt(Folder.length-1) != "\\"){
Folder = Folder + "\\";
}
document.all.savePath.value=Folder;
return Folder;
}
}catch(e){
alert(e.message);
}
}
⑶ js選項卡設計的要點有哪些
1、javaScript與java的區別?(從它們的解釋,運行等方面說)
第一,javascript是基於對象的,而java是面向對象,即java是一種真正的面向對象的語言,即使是開發簡單的程序,必須設計對象。Javascript是種腳本語言,它可以用來製作與網路無關的,與用戶交互作用的復雜軟體。它是一種基於對象和事件驅動的編程語言。因而它本身提供了非常豐富的內部對象供設計人員使用。
第二,兩種語言在其瀏覽器中所執行的方式不一樣。Java的源代碼在傳遞到客戶端執行之前,必須經過編譯,因而客戶端上必須具有相應平台上的模擬器或解釋器,它可以通過編譯器或解釋器實現獨立於某個特定的平台編譯代碼的束縛。Javascript是一種解釋性編程語言,由瀏覽器解釋執行。
第三,兩種語言所採取的變數時不一樣的。Java採用強類型變數檢查,即所有變數在編譯之前必須作聲明avaScript中變數聲明,採用其弱類型。即變數在使用前不需作聲明,而是解釋器在運行時檢查其數據類型。
第四,代碼格式不一樣。Java是一種與HTML無關的格式,必須通過像HTML中引用外媒體那麼進行裝載,其代碼以位元組代碼的形式保存在獨立的文檔中。JavaScript的代碼是一種文本字元格式,可以直接嵌入HTML文檔中,並且可動態裝載。編寫HTML文檔就像編輯文本文件一樣方便。
第五,嵌入方式不一樣。在HTML文檔中,兩種編程語言的標識不同,JavaScript使用 <script>...</script> 來標識,而Java使用<applet> ... </applet>來標識。
2、請用JavaScript寫出提交表單的語句表單為 frm1
frm1.submit();
3、在javascript中如何判斷一個變數是否是數值型?
答:判斷變數是不是數字,用javascript的內置函數 isNaN()就可以了,isNaN()函數檢驗參數是否是一個數字,要注意的是不是數字返回true,是的話返回false。
4、form表單中的控制項都由那些?
答:form表單包含
單行文本輸入框(text)
單選按鈕(radio)
復選框(checkbox)
重置按鈕(reset)
多行文本框(textarea)
密碼框(password)
下拉列表(select)
提交按鈕(submit)
注意:hidden屬性可以設置控制項是否隱藏。
5、表單提交的方式有哪些?
答:表單提交方式比較:
l get的特點是信息暴露、長度不能超過255位元組,但是速度快。
l post的特點信息隱藏、長度不限,但是速度較慢。
6、插入視頻到頁面
<video src=」url」 controls=」controls」></video>
7、如何將JavaScript嵌入網頁?
a、使用 <script> 標簽將語句嵌入文檔
b、將 JavaScript 源文件鏈接到 HTML 文檔中
8、JavaScript 對象有哪些?(比較重要)
答:瀏覽器窗口:window文檔; document;url地址等
腳本對象: String字元串對象;Date日期對象;Math數學對象等
HTML 對象: 各種HTML標簽:段落<P>;圖片<IMG>;超鏈接<A>等
9、JavaScript 事件有哪些?
事件名
說明
onClick
滑鼠單擊
onChange
文本內容或下拉菜單中的選項發生改變
onFocus
獲得焦點,表示文本框等獲得滑鼠游標。
onBlur
失去焦點,表示文本框等失去滑鼠游標。
onMouseOver
滑鼠懸停,即滑鼠停留在圖片等的上方
onMouseOut
滑鼠移出,即離開圖片等所在的區域
onMouseMove
滑鼠移動,表示在<DIV>層等上方移動
onLoad
網頁文檔載入事件
onSubmit
表單提交事件
onMouseDown
滑鼠按下
onMouseUp
滑鼠彈起
12、innerHTML是用來做什麼的?(innerHTML和innerTEXT 的區別)
答:innerHTML可以獲取或修改某個HTML標簽內包含的內容(包括標簽與文本)
<div id=「div1」><h2>innerHTML</h2></div>
<script>
document.getElementById(「div1」).innerHTML;
</script>
13、如何使用外部 JS 文件?
答:
a、外部 JavaScript 文件可以鏈接到 HTML 文檔中
b、script 標簽的 src(源文件)屬性可用於包括此外部文件
<script language=「JavaScript」 src= 「文件名.js">
</script>
14、javascript有何作用?(詳細說明)
答:提供用戶交互;動態更改內容;數據驗證
15、javascript種如何聲明定義變數?
答:用弱引用數據類型,var定義聲明。如:var a;
16、form中的input有哪些類型?各是做什麼處理使用的?
答:text,radio,checkbox,file,button,image,submit,reset,hidden。Submit是button的一個特列,也是button的一種,它把提交這個動作自動集成了。
如果表單在點擊提交按鈕後需要用JS進行處理(包括輸入驗證)後再提交的話,通常都必須把submit改成button,即取消其自動提交的行為,否則,將會造成提交兩次的效果,對於動態網頁來說,也就是對資料庫操作兩次。
Button具有name、value屬性,能觸發onclick事件。
Submit繼承了button。
Submit增加了觸發表單onsubmit事件的功能、增加了執行表單的submit()方法的功能。
Input type=submit按回車提交表單
Button提交的是innerTEXT。
17、table標簽中border,cellpadding td標簽中colspan,rowspan分別起什麼作用?
答:boder 邊界;cellpadding 邊距
Cellpadding,是補白,是指單元格內文字與邊框的距離。
Cellspacing,兩個單元格之間的距離
Colspan跨列數
Rowspan跨行數
18、form中的input可以設置readonly和disable,請問這兩項屬性有什麼區別?
答:readonly不可編輯,但可以選擇和復制
disable不能編輯復制選擇
19、JS中的三種彈出式消息提醒(警告窗口、確認窗口、信息輸入窗口)的命令是什麼?(區別也會問到)
答:alert,confirm,prompt
20、當點擊按鈕時,如何實現兩個td的值互換?
答:用javascript實現此功能。
分析:
這個題主要是考變數傳值。其次是考如何取元素的值。
代碼如下:
<!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>
<script type="text/javascript">
function submitbtn() {
var tText1 = document.getElementById('txt1');
var SubmitBtn1 = document.getElementById('submitBtn1');
var tText2 = document.getElementById('txt2');
var SubmitBtn2 = document.getElementById('submitBtn2');
SubmitBtn1.onclick = function() {
var temp = tText1.value;
tText1.value = tText2.value;
tText2.value = temp;
};
SubmitBtn2.onclick = function() {
var temp = tText2.value;
tText2.value = tText1.value;
tText1.value = temp;
};
}
window.onload = function() {
submitbtn();
}
</script>
</head>
<body>
<input type="text" value="12345666" id="txt1" />
<input type="submit" id="submitBtn1" />
<input type="text" value="12345222" id="txt2" />
<input type="submit" id="submitBtn2" /></body>
</html>
21、如何給一個Javascript的對象屬性賦值?如何取得屬性值?
答:一個Javascript對象的屬性可以用」.」操作符或者數組方式來設置和取得:代碼如下:
obj.name = 「IT公司面試手冊」;
obj["name"] = 「IT公司面試手冊」;
取得 屬性的值:
var myname = obj.name;
var myname = obj["name"];
兩種方法的區別是如果屬性的名字如果是保留字的話,用點操作符就會報錯,代碼如下:
obj.for = 「IT公司面試手冊」;因為for是保留字,所以會報錯
obj["for"] = 「IT公司面試手冊」 就不會報錯
或者是通過:
//獲取用戶名對象的name屬性的值
var nameVal = document.getElementById("inp1").getAttribute("name");
document.getElementById("inp1").setAttribute("class","ca1");
22、判斷文本框內容是不是英文、中文、非中文?
答:
Gb2312
JS代碼檢查是否是中文:
Function isChinese(s,msg){
Var reg = /[^\u4E00-\u9FA5]/g;
If(reg.test(s.value)){
s.focus();
s.select();
alert(msg?msg:』改欄只能輸入中文,請改正!』);
return false;
}
Return true;
}
js代碼檢查是否是非中文 :
function isNoChinese(s,msg){
var reg = /[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/gi;
if (reg.test(s.value)){s.select()
alert((msg?msg:』該欄不能輸入中文及全形符號﹐請改正!』));
return false;
}
return true;
}
js代碼檢查是否是英文字 :
function isEnglish(s,msg){
var reg=/^[a-z]*$/gi
if(reg.test(s.value))return true
else {
alert((msg?msg:』該欄目只能輸入英文字元﹐請改正』));
s.focus();
s.select();
return false;
}
}
21、Jquery的基礎選擇器有哪幾種? 層次過濾器、內容過濾器、表單過濾器分別列舉至少三種?
基礎選擇器:ID選擇器、類選擇器、標簽選擇器
層次過濾器:$(「祖先選擇器 所有的後代選擇器」)
$(「指定的父代對象 > 對應的直系後代」)
同輩選擇器:
$(「A ~ B 」): 指定與A同輩的同級的B對象
相鄰選擇器:
$(「A +B」):指定與A相鄰的下一個B對象
//內容過濾器:
$(「:empty」) :空內容或者不含子元素的對象
$(「A:has(選擇器)」)
$(「:contains(文本內容)」):根據內容來過濾對象
$(「:parent」):獲取含有文本內容或者含有子元素的集合對象
//表單選擇器
$(「:input」):獲取所有表單控制項對象
$(「:text」):獲取輸入類型type=「text」的表單控制項
$(「:radio」):獲取單選框的對象
$(「:checkbox」):獲取多選框的對象
$(「:file」):獲取上傳文件的對象type=』file』
$(「:checked」) :獲取被選中的單選框或者多選框對象
$(「:selected」) :獲取下拉框被選中的對象
等等。。。
22、Jquery對dom對象追加有幾種方式?
分別列舉?
$(對象).append()
$(對象).appendTo(「要被追加的對象」);
Before()/ after()/prepend()/prependTo()/ html()
23、Jquery的初始化方法有幾種?
有三種:
//常用的有兩種:
$(function(){})
$(document).ready(function(){})
//第三種:
jQuery(function(){})
//第三種另一種寫法:
jQuery(document).ready(function(){})
(注意:Jquery對象的標識符:$ 等價於 jQuery)
24、Jquery對象獲取html元素的內容有哪兩種?區別是什麼? Jquery對象如何對表單控制項賦值或者獲取表單控制項的值?
Jquery對象獲取元素內容的方法:$(對象).html()/ $(對象).text()
Html():可以為選中的Jquery對象設置包含html標簽的內容。
Text():只能設置文本內容。
Jquery對象獲取表單控制項的內容:$(表單控制項對象).val();
//賦值:$(表單控制項對象).val(賦值);
25、通過js自定義對象,創建一個學生對象,包含姓名、性別、年齡以及學習的方法等,並寫入到html頁面中。如何使用原型prototype為數組Array對象添加一個構造方法?
//通過原型為Array對象添加一個add方法:
Array.prototype.add = function(參數)
{
函數體操作。
}
26、window對象下,頁面跳轉的幾種方式?
//window對象下的頁面跳轉方式:
Window.open(「新打開頁面的URL」,」_self/_blank/_top」,」規格」);
Window.location.href=」」
Window.location.replace(「要替換的頁面」);
27、Jquery對象的兩種循壞方法? Js的兩種循壞遍歷方法分別寫案例?
Jquery對象循環的方法:
$(「選擇器」).each(function(I,value)
{
});
//循環數組:
$.each(「數組對象」,function(I,value)
{})
//JS循環方法:
//第一種:
For(var i=0;i<對象.length;i++)
{
}
//第二種:
For(var I in 數組對象){}
28、如何在html頁面上對一個動畫元素設置樣式?
通過動畫過濾選擇器來對動畫元素設置樣式:
$(「div:animated」).css({「」:」」,」」:」」});
: 對正在動畫的div元素設置樣式。
⑷ js怎麼添加一個下拉列表的值
<script type="text/javascript">
aa=document.getElementById('a');
bb=document.getElementById('b');
ii=document.getElementById('i');
ab=document.getElementsByTagName("li");
aa.onclick=function()
{
if(bb.style.display=="none")
{bb.style.display="block";}
else
{bb.style.display="none";}
if(ii.style.borderBottom=='none'){
ii.style.borderTop='none';
ii.style.borderBottom='10px solid black';
}
else{
ii.style.borderBottom="none";
ii.style.borderTop="10px solid black";
}
}
for (var x=0;x<ab.length; x=x+1)
{
ab[x].onmouseover=function () {
this.style.background="white";
this.style.textDecoration="underline";
}
ab[x].onmouseout=function () {
this.style.background="#E9ECF3";
this.style.textDecoration="none";
}
}
</script>
(4)js可以設置emptytext擴展閱讀:
添加值
function addData1(){
//清空下拉選中的數據
$("#resType").empty();
$("#resType").append("<option value='1'>aaaaaa</option>");
$("#resType").append("<option value='2'>bbbbbb</option>");
}