校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > 發(fā)布三個(gè)ajax相關(guān)的函數(shù),包括無(wú)刷新提交表單等

發(fā)布三個(gè)ajax相關(guān)的函數(shù),包括無(wú)刷新提交表單等

熱門(mén)標(biāo)簽:澳大利亞城市地圖標(biāo)注 電銷(xiāo)機(jī)器人違法了嗎 海南銀行智能外呼系統(tǒng)商家 辰溪地圖標(biāo)注 姜堰電銷(xiāo)機(jī)器人 遼寧銀行智能外呼系統(tǒng) 許昌智能電銷(xiāo)機(jī)器人公司 遼寧正規(guī)電銷(xiāo)機(jī)器人 上海浦東騰訊地圖標(biāo)注位置

幾個(gè)月前,因?yàn)轫?xiàng)目需求,我寫(xiě)了下面的三個(gè)ajax相關(guān)的函數(shù)。發(fā)布出來(lái)和大家分享。
第一個(gè)是用來(lái)無(wú)刷新加載一段HTML
第二個(gè)是把表單數(shù)據(jù)轉(zhuǎn)換成一串請(qǐng)求字符串
第三個(gè)是結(jié)合函數(shù)一和函數(shù)二的無(wú)刷新提交表單實(shí)現(xiàn)。

還有一點(diǎn)要提到的是,無(wú)刷新表單提交,還不能對(duì)文件上傳進(jìn)行處理,這個(gè)主要是因?yàn)闉g覽器的安全設(shè)置。目前無(wú)刷新的上傳,一般是用iframe來(lái)實(shí)現(xiàn)的。關(guān)于這個(gè),我們?cè)趃oogle里搜索能找到很多。

網(wǎng)上雖然已經(jīng)有很多優(yōu)秀的ajax的類(lèi)和函數(shù)了,但是或許我這幾個(gè)函數(shù)對(duì)大家還有點(diǎn)用處,于是我就發(fā)布出來(lái)了。
可以在這里下載。

復(fù)制代碼 代碼如下:

//@desc    load a page(some html) via xmlhttp,and display on a container
//@param   url          the url of the page will load,such as "index.php"
//@param   request      request string to be sent,such as "action=1name=surfchen"
//@param   method       POST or GET
//@param   container          the container object,the loaded page will display in container.innerHTML
//@usage 
//         ajaxLoadPage('index.php','action=1name=surfchen','POST',document.getElementById('my_home'))
//         suppose there is a html element of "my_home" id,such as "span id='my_home'>/span>" 
//@author  SurfChen surfchen@gmail.com>
//@url     http://www.surfchen.org/
//@license http://www.gnu.org/licenses/gpl.html GPL
function ajaxLoadPage(url,request,method,container)
{
    method=method.toUpperCase();
    var loading_msg='Loading...';//the text shows on the container on loading.
    var loader=new XMLHttpRequest;//require Cross-Browser XMLHttpRequest
    if (method=='GET')
    {
        urls=url.split("?");
        if (urls[1]=='' || typeof urls[1]=='undefined')
        {
            url=urls[0]+"?"+request;
        }
        else
        {
            url=urls[0]+"?"+urls[1]+""+request;
        }

        request=null;//for GET method,loader should send NULL
    }
    loader.open(method,url,true);
    if (method=="POST")
    {
        loader.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    }
    loader.onreadystatechange=function(){
        if (loader.readyState==1)
        {
            container.innerHTML=loading_msg;

        }
        if (loader.readyState==4)
        {
            container.innerHTML=loader.responseText;
        }
    }
    loader.send(request);
}
//@desc    transform the elements of a form object and their values into request string( such as "action=1name=surfchen")
//@param   form_obj          the form object
//@usage   formToRequestString(document.form1)
//@notice  this function can not be used to upload a file.if there is a file input element,the func will take it as a text input.
//         as I know,because of the security,in most of the browsers,we can not upload a file via xmlhttp.
//         a solution is iframe.
//@author  SurfChen surfchen@gmail.com>
//@url     http://www.surfchen.org/
//@license http://www.gnu.org/licenses/gpl.html GPL
function formToRequestString(form_obj)
{
    var query_string='';
    var and='';
    //alert(form_obj.length);
    for (i=0;iform_obj.length ;i++ )
    {
        e=form_obj[i];
        if (e.name!='')
        {
            if (e.type=='select-one')
            {
                element_value=e.options[e.selectedIndex].value;
            }
            else if (e.type=='checkbox' || e.type=='radio')
            {
                if (e.checked==false)
                {
                    break;    
                }
                element_value=e.value;
            }
            else
            {
                element_value=e.value;
            }
            query_string+=and+e.name+'='+element_value.replace(/\/g,"%26");
            and=""
        }

    }
    return query_string;
}
//@desc    no refresh submit(ajax) by using ajaxLoadPage and formToRequestString
//@param   form_obj          the form object
//@param   container          the container object,the loaded page will display in container.innerHTML
//@usage   ajaxFormSubmit(document.form1,document.getElementById('my_home'))
//@author  SurfChen surfchen@gmail.com>
//@url     http://www.surfchen.org/
//@license http://www.gnu.org/licenses/gpl.html GPL
function ajaxFormSubmit(form_obj,container)
{
    ajaxLoadPage(form_obj.getAttributeNode("action").value,formToRequestString(form_obj),form_obj.method,container)
}

您可能感興趣的文章:
  • IIS里的AJAX相關(guān)的設(shè)置
  • jquery $.ajax相關(guān)用法分享
  • ajax上傳時(shí)參數(shù)提交不更新等相關(guān)問(wèn)題
  • ajax的 IE cache 相關(guān)問(wèn)題解決
  • js jquery ajax的幾種用法總結(jié)(及優(yōu)缺點(diǎn)介紹)
  • 淺談Ajax相關(guān)及其優(yōu)缺點(diǎn)

標(biāo)簽:崇左 深圳 西藏 伊春 威海 晉城 銅川 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《發(fā)布三個(gè)ajax相關(guān)的函數(shù),包括無(wú)刷新提交表單等》,本文關(guān)鍵詞  發(fā)布,三個(gè),ajax,相關(guān),的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《發(fā)布三個(gè)ajax相關(guān)的函數(shù),包括無(wú)刷新提交表單等》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于發(fā)布三個(gè)ajax相關(guān)的函數(shù),包括無(wú)刷新提交表單等的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 交城县| 漯河市| 富平县| 静乐县| 桂林市| 安阳市| 叙永县| 南阳市| 洮南市| 保靖县| 綦江县| 玉龙| 盐池县| 常山县| 山阳县| 永福县| 安远县| 霸州市| 天峨县| 乡宁县| 临海市| 鄂托克旗| 开原市| 阿拉善盟| 潮安县| 吴忠市| 巴青县| 镇康县| 安顺市| 图木舒克市| 吴桥县| 永福县| 夏津县| 日照市| 喀喇沁旗| 北票市| 资兴市| 彰化县| 郴州市| 怀宁县| 柳林县|