天天看點

js一些常用的小功能和代碼

1.限制文本框隻能輸入數字和小數點,文本框直接調用:οnkeyup="value=value.replace(/[^0-9.]/g,'')"

2.限制文本框隻能輸入數字,文本框直接調用:οnkeyup="value=value.replace(/[^0-9]/g,'')"

3.ajax異步擷取資料的函數和調用方法,函數:

function ajax(url, onsuccess)

{

    //alert("bbbb");

    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); //建立XMLHTTP對象,考慮相容性。XHR

    xmlhttp.open("POST", url, true); //“準備”向伺服器的GetDate1.ashx發出Post請求(GET可能會有緩存問題)。這裡還沒有送出請求

    xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    //DRY:不要複制粘貼代碼

    //AJAX是異步的,并不是等到伺服器端傳回才繼續執行

    xmlhttp.onreadystatechange = function ()

    {

        if (xmlhttp.readyState == 4) //readyState == 4 表示伺服器傳回完成資料了。之前可能會經曆2(請求已發送,正在進行中)、3(響應中已有部分資料可用了,但是伺服器還沒有完成響應的生成)

        {

            //alert(xmlhttp.status);

            if (xmlhttp.status == 200) //如果Http狀态碼為200則是成功

            {

                onsuccess(xmlhttp.responseText);

            }

            else

            {

                alert("AJAX伺服器傳回錯誤!");

            }

        }

    }

    //不要以為if (xmlhttp.readyState == 4) {在send之前執行!!!!

    xmlhttp.send(); //這時才開始發送請求。并不等于伺服器端傳回。請求發出去了,我不等!去監聽onreadystatechange吧!

}

調用方法:

ajax("Show.ashx?type=1&id="+escape(v), function (resText)

            {

                 document.getElementById("ClassDetail_Span").innerHTML=resText;  //将擷取的值,寫入到需要的地方

            });