Ajax コンボボックス

  検索データからコンボボックスを作成する



  
<SCRIPT language=JavaScript>

    var dom,bIE;
    var processor,newFragment;    // for Mozilla
    var objXMLHttp;

    if ( document.all ) {
        bIE = true;
        dom = new ActiveXObject("Msxml2.DOMDocument.3.0");
        objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
    }
    else {
        bIE = false;
        dom = document.implementation.createDocument("", "", null);
        objXMLHttp = new XMLHttpRequest();
    }

    dom.async = false;

function LoadGinfo( ) {

    var objNodeList,objNode,nLength;
    var objOption;

    strValue = document.getElementById("name").value

    if ( strValue == '' ) {
        alert("検索文字列を入力して下さい")
        document.getElementById("name").focus();
        return;
    }

    strValue = encodeURIComponent(strValue);

    objXMLHttp.open(
        "GET",
        "/admin/seisekiReq/ginfo.asp?name=" + strValue
        , false );
    objXMLHttp.send( "" );
    dom = objXMLHttp.responseXML;

    document.getElementById("glist").options.length = 0;

    objNodeList = dom.getElementsByTagName( "row" )

    nLength = objNodeList.length;
    for( i = 0; i < nLength; i++ ) {
        objOption = document.createElement("OPTION");

        objRow = objNodeList.item(i);        // row

        objDatas = objRow.childNodes;
        if ( document.all ) {
            objDataId = objDatas.item(0);    // コード
            objOption.value = objDataId.childNodes.item(0).nodeValue;    // データ
            objDataName = objDatas.item(1);    // 氏名
            objOption.text = objDataName.childNodes.item(0).nodeValue;    // データ
            document.getElementById("glist").add(objOption);
        }
        else {
            k = 0;
            resultString = "";
            for( j = 0; j < objDatas.length; j++ ) {
                if ( objDatas.item(j).hasChildNodes() ) {
                    objDataId = objDatas.item(j);
                    objDATAList = objDataId.childNodes;
                    objData = objDATAList.item(0);
                    k++;
                    if ( k == 1 ) {
                        objOption.value = objData.nodeValue;    // データ
                    }
                    if ( k == 2 ) {
                        objOption.text = objData.nodeValue;    // データ
                    }
                }
            }
            document.getElementById("glist").appendChild(objOption);
        }
    }

}

</SCRIPT>
  

以下は、XML のフォーマットです

  
<?xml version="1.0" encoding="UTF-8" ?> 
<gakusei>
<row>
    <id>4001</id> 
    <name>山田 太郎</name> 
    <fname>ヤマダ タロウ</fname> 
</row>
</gakusei>
  










  infoboard   管理者用   
このエントリーをはてなブックマークに追加





フリーフォントWEBサービス
SQLの窓WEBサービス

SQLの窓フリーソフト

素材

一般WEBツールリンク

SQLの窓

フリーソフト

JSライブラリ