Time of Update: 2014-07-06
1、只允許輸入數字<input name="username" type="text" onkeyup="value=this.value.replace(/\D+/g,'')">2、只允許輸入英文字母、數字和底線(以下二種方法實現)<input name="username" type="text" style="ime-mode:disabled"><input name="username" type="text"
Time of Update: 2014-07-06
有時需要限制文字框輸入內容的類型,本節分享下Regex限制文字框只能輸入數字、小數點、英文字母、漢字等代碼。例如,輸入大於0的正整數複製代碼 代碼如下:<input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){
Time of Update: 2014-07-06
複製代碼 代碼如下: <html> <head> <script type="text/javascript"> function showDiv(id){ document.getElementById("selectOption").style.display="block"; document.getElementById("selectOption").style.position="absolute";
Time of Update: 2014-07-06
jQuery 2.0 去除了對瀏覽器版本號碼的判斷(它推薦特性檢測),這裡是一個老外寫的原生判斷方法,這段代碼著實巧妙!既簡介、有向後相容!一般做法都是:正則搜尋 USER_AGENT ;但因為曆史原因, USER_AGENT 一直都不準確,而且被各大廠商改的亂七八糟。:比如:IE10 : Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)IE11 : Mozilla/5.0 (Windows NT 6.
Time of Update: 2014-07-06
假如你在一個文字框中按enter事件是讓他執行一個js函數,但是不想提交表單,可以這樣做:function ysearch() //年文字框斷行符號鍵後重新載入DataWindow{ validateInputText('yyyy');//想做的第一個js函數 if(event.keyCode==13) {
Time of Update: 2014-07-06
一、LABjs 的核心是 LAB(Loading and Blocking):Loading 指非同步並行載入,Blocking 是指同步等待執行。LABjs 通過優雅的文法(script 和 wait)實現了這兩大特性,核心價值是效能最佳化。LABjs 是一個檔案載入器。二、RequireJS 和 SeaJS 則是模組載入器,倡導的是一種模組化開發理念,核心價值是讓 JavaScript 的模組化開發變得更簡單自然。模組載入器也可降級為檔案載入器用,因此使用 RequireJS 和
Time of Update: 2014-07-06
最近在用EXtjs做項目,在載入資料量特別大的時候會出現載入逾時現象,在FB下查看,原來是ext預設ajax請求30秒。 在網上搜到下面的解決方案,以備參考和其他人蔘考。 ExtJS做Ajax請求的時候,預設的相應時間是30秒,如果後來資料查詢時間超過30秒,ExtJS就會報錯。 這就需要修改ExtJS的逾時時間: 2種方法: 1:在Ajax請求的時候加:(timeout: 100000000)屬性 複製代碼 代碼如下: Ext.Ajax.request({ url:
Time of Update: 2014-07-06
在JS中將JSON的字串解析成JSON資料格式,一般有兩種方式:1.一種為使用eval_r()函數。2. 使用Function對象來進行返回解析。在資料轉送流程中,json是以文本,即字串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字串之間的相互轉換是關鍵。例如:JSON字串:var str1 = '{ "name": "cxh", "sex": "man" }';JSON對象:var str2 = { "name": "cxh", "sex": "man"
Time of Update: 2014-07-06
複製代碼 代碼如下:<select id = "cityList" > <select id = "selectId" > <option value = "0">第0個</option> </select> <script> var
Time of Update: 2014-07-06
display通常可以設定為none、inline、block visibility通常可以設定為hidden、visible 當display為none,visibility為hidden時,元素都會不見。不過其還有不同之處。 display會將元素隱藏掉,並且位置不再被佔據,而visibility則是佔據原來的位置。 看例子即可明白: 複製代碼 代碼如下: <div id="myDiv" style="width:100px;border:1px solid #aaa;">
Time of Update: 2014-07-06
複製代碼 代碼如下: <script language="javascript"> function test() { var rng=document.body.createTextRange(); alert(rng.text) } function test1() { var rng=document.body.createTextRange(); alert(rng.htmlText) } </script> <input type="button"
Time of Update: 2014-07-06
var arr=['a','b','c'];若要刪除其中的'b',有兩種方法:1.delete方法:delete arr[1]這種方式數組長度不變,此時arr[1]變為undefined了,但是也有好處原來數組的索引也保持不變,此時要遍曆數組元素可以才用複製代碼 代碼如下:for(index in arr){ document.write('arr['+index+']='+arr[index]);}這種遍曆方式跳過其中undefined的元素 * 該方式IE4.o以後都支援了
Time of Update: 2014-07-06
或許你一直在用javascript中的array的sort. 或許你一直相信它會給你正確的結果。 至少我曾經也是這樣認為的,直到有一天,我看到了如下的代碼 : 複製代碼 代碼如下: [5,10,1].sort(); 或許結果有點出人意料。結果如下: 複製代碼 代碼如下: [1,10,5] 仔細深究之後,發現原來預設的sort方法並不是按照整形資料來排序,而是用的字串匹配方式。 換言之就是10 中的這個 1 導致了上面代碼的錯誤。 當然,解決方案有很多,可以給sort方法中傳入回呼函數。
Time of Update: 2014-07-06
複製代碼 代碼如下: /* Cookie工具 使用方法: //存值 var value = "7天"; tools.cookie("day",value, {expires:7}); //將字串:"7天" 以 "day"這個key儲存到cookie中5天 //取值 var v = tools.cookie("day"); //用 "day" 這個key從cookie取出值 */ tools.cookie = function(name, value, options) { if (typeof
Time of Update: 2014-07-06
由於JQuery中獲得的對象還是JQuery對象,對其使用focus()只是使該對象獲得onFocus()函數,不能是對象獲得焦點,所以要使對象獲得焦點,應該調用DOM對象的focus 方法,即: 複製代碼 代碼如下: $("#id")[0].focus(); 需要注意兩個函數之間的區別: 複製代碼 代碼如下: $("#id").focus(); $("#id")[0].focus(); 第一個是增加onFocus()時間,一個是使DOM對象獲得焦點。
Time of Update: 2014-07-06
最近遇到一個問題: 複製代碼 代碼如下: var obj = {"name1":"張三","name2":"李四"}; var key = "name1"; var value = obj.key;//得到了"undefined" value = obj.name1;//得到了"張三" 其實我是想動態給key賦值,然後得到key為多少所對就的值。但這種做法行不通,obj.key會去找obj下key為"key"所對應的值,結果當然是找不到嘍。 於是,我想到了js中遍曆對象屬性的方法: 複製代碼
Time of Update: 2014-07-06
window.location="aaa.aspx" 上面的方法只能在當前頁開啟,如果要在新的頁面開啟,最簡單的是用以下方法 form.target="_blank"; form.action="aaa.aspx"; form.submit(); window.top.location=url 可以在iframe中的頁面在父視窗重新整理開啟
Time of Update: 2014-07-06
複製代碼 代碼如下:<!doctype html><html><head> <title>ff 與 ie 動態載入元素的區別</title> <script type="text/javascript" src="jquery-1.4.4.min.js"></script> <style
Time of Update: 2014-07-06
Javascript在進行浮點數的乘積運算,會出現多位小數的情況。 這是由於在運算的時候先把浮點數轉化成二進位後進行運算,但是有的小數在二進位編碼後出現無限迴圈,因而導致計算出現了誤差,在其它變成語言中也有類似的問題。 原因解釋參考自百度知道: 例如:求1038.1-1000 1038.1=10000001110.0001100110011001100110011001100110011001100..... 1000 =1111101000
Time of Update: 2014-07-06
extjs中 有時需要選擇一個日期範圍,需要自動判斷,選擇的開始日期不能大於結束日期,或結束日期不能小於開始日期,實現的代碼如下:從可以看到,當選擇了一個開始時間後,會自動限制結束時間的選擇範圍,實現兩個日期選取器的聯動.代碼如下:首先定義聯動處理函數:Ext.apply(Ext.form.field.VTypes, { daterange: function (val, field) { var date = field.parseDate(val); if (!date) { return