婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 發布三個ajax相關的函數,包括無刷新提交表單等

發布三個ajax相關的函數,包括無刷新提交表單等

熱門標簽:澳大利亞城市地圖標注 電銷機器人違法了嗎 海南銀行智能外呼系統商家 辰溪地圖標注 姜堰電銷機器人 遼寧銀行智能外呼系統 許昌智能電銷機器人公司 遼寧正規電銷機器人 上海浦東騰訊地圖標注位置

幾個月前,因為項目需求,我寫了下面的三個ajax相關的函數。發布出來和大家分享。
第一個是用來無刷新加載一段HTML
第二個是把表單數據轉換成一串請求字符串
第三個是結合函數一和函數二的無刷新提交表單實現。

還有一點要提到的是,無刷新表單提交,還不能對文件上傳進行處理,這個主要是因為瀏覽器的安全設置。目前無刷新的上傳,一般是用iframe來實現的。關于這個,我們在google里搜索能找到很多。

網上雖然已經有很多優秀的ajax的類和函數了,但是或許我這幾個函數對大家還有點用處,于是我就發布出來了。
可以在這里下載。

復制代碼 代碼如下:

//@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相關的設置
  • jquery $.ajax相關用法分享
  • ajax上傳時參數提交不更新等相關問題
  • ajax的 IE cache 相關問題解決
  • js jquery ajax的幾種用法總結(及優缺點介紹)
  • 淺談Ajax相關及其優缺點

標簽:崇左 深圳 西藏 伊春 威海 晉城 銅川 撫州

巨人網絡通訊聲明:本文標題《發布三個ajax相關的函數,包括無刷新提交表單等》,本文關鍵詞  發布,三個,ajax,相關,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《發布三個ajax相關的函數,包括無刷新提交表單等》相關的同類信息!
  • 本頁收集關于發布三個ajax相關的函數,包括無刷新提交表單等的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 新营市| 荃湾区| 衡阳县| 香河县| 北海市| 威海市| 新津县| 东明县| 郎溪县| 新源县| 安庆市| 乌兰察布市| 武隆县| 扎兰屯市| 盐山县| 金山区| 莱阳市| 顺义区| 海淀区| 岳阳市| 留坝县| 清苑县| 北海市| 肇源县| 嘉义市| 新密市| 固阳县| 齐河县| 仁寿县| 凌海市| 谢通门县| 阳曲县| 清河县| 阿尔山市| 澄迈县| 建昌县| 宝兴县| 钟祥市| 无为县| 贡嘎县| 磐石市|