欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2006年08月15日 00:00:00   作者:  

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

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

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

復(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=1&name=surfchen"
//@param   method       POST or GET
//@param   container          the container object,the loaded page will display in container.innerHTML
//@usage 
//         ajaxLoadPage('index.php','action=1&name=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=1&name=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;i<form_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)
}

相關(guān)文章

  • Ajax 配合node js multer 實現(xiàn)文件上傳功能

    Ajax 配合node js multer 實現(xiàn)文件上傳功能

    這篇文章主要介紹了Ajax 配合node js multer 實現(xiàn)文件上傳功能,需要的朋友可以參考下
    2017-08-08
  • ajax請求Session失效問題

    ajax請求Session失效問題

    本文由腳本之家小編跟大家分享的ajax請求Session失效問題,感興趣的朋友一起看看吧
    2015-09-09
  • AJAX 用戶注冊時的應(yīng)用實例

    AJAX 用戶注冊時的應(yīng)用實例

    我所舉的這個例子是一個企業(yè)用戶注冊時的一個應(yīng)用,當(dāng)用戶注冊時檢查用戶名和企業(yè)名是否可用,以前的做法是在旁邊加一個按鈕,點擊“檢查”,就向服務(wù)器發(fā)出請求,然后等待……服務(wù)器返回信息,繼續(xù)操作。
    2008-12-12
  • ajax實現(xiàn)select三級聯(lián)動效果

    ajax實現(xiàn)select三級聯(lián)動效果

    這篇文章主要為大家詳細(xì)介紹了ajax動態(tài)實現(xiàn)select三級聯(lián)動,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • ajax請求成功后新開窗口window.open()被攔截解決方法

    ajax請求成功后新開窗口window.open()被攔截解決方法

    ajax 異步請求成功后需要新開窗口打開 url,使用的是 window.open() 方法,但是很可惜被瀏覽器給攔截了,怎么解決這個問題呢
    2014-09-09
  • 簡單實體類和xml文件的相互轉(zhuǎn)換方法

    簡單實體類和xml文件的相互轉(zhuǎn)換方法

    下面小編就為大家?guī)硪黄唵螌嶓w類和xml文件的相互轉(zhuǎn)換方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 基于ajax的簡單搜索實現(xiàn)方法

    基于ajax的簡單搜索實現(xiàn)方法

    這篇文章主要介紹了基于ajax的簡單搜索實現(xiàn)方法,結(jié)合實例形式較為詳細(xì)的分析了ajax調(diào)用實現(xiàn)搜索功能的具體步驟與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-12-12
  • 使用AJAX實現(xiàn)上傳文件

    使用AJAX實現(xiàn)上傳文件

    這篇文章主要介紹了使用AJAX實現(xiàn)上傳文件,無需任何插件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • ajax實現(xiàn)修改功能

    ajax實現(xiàn)修改功能

    本文主要介紹了ajax實現(xiàn)修改功能的相關(guān)資料,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-04-04
  • 使用Ajax進行文件與其他參數(shù)的上傳功能(java開發(fā))

    使用Ajax進行文件與其他參數(shù)的上傳功能(java開發(fā))

    這篇文章主要介紹了使用Ajax進行文件與其他參數(shù)的上傳功能(java開發(fā)),非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-01-01

最新評論