ホームページ >バックエンド開発 >PHPチュートリアル >Ajax PHP 更新なしセカンダリ リンケージ ドロップダウン メニュー (都道府県と市のリンケージ) ソース コード_PHP チュートリアル
ajax.js
var http_request = false;
function send_request(url,method) {//初期化、指定処理関数、リクエストを送信する関数
http_request = false;
//XMLHttpRequest オブジェクトの初期化を開始します
if(window.XMLHttpRequest) { //Mozilla ブラウザ
http_request = 新しい XMLHttpRequest();
if (http_request.overrideMimeType) {//MiME カテゴリを設定します
http_request.overrideMimeType('text/xml');
}
}
else if (window.ActiveXObject) { //IE ブラウザ
試してみてください{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} キャッチ (e) {
試してみてください{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} キャッチ (e) {}
}
}
if (!http_request) { //例外、オブジェクト インスタンスの作成に失敗しました
window.alert("XMLHttpRequest オブジェクト インスタンスを作成できません。");
false を返します;
}
スイッチ(メソッド){
case 1: http_request.onreadystatechange = processRequest1;break;//操作関数を選択
ケース 2: http_request.onreadystatechange = processRequest2;break;
ケース 3: http_request.onreadystatechange = processRequest3;break;
}
// リクエストの送信方法と URL、および次のコードを同期的に実行するかどうかを決定します
http_request.open("GET", url, true);
http_request.send(null);
}
// 返された情報を処理する関数
function processRequest1() {//関数 1 の操作、州への転送
if (http_request.readyState == 4) { // オブジェクトのステータスを決定します
if (http_request.status == 200) { // 情報が正常に返されたので、情報の処理を開始します
document.getElementById("statusTxt").innerHTML="";
addOptionGroup("province",http_request.responseText);
} else { //ページは正常ではありません
alert("リクエストしたページには例外があります。");
}
}else {//読み取りが完了していない限り
document.getElementById("statusTxt").innerHTML="通常の読み取りデータ...";
}
}
function processRequest2() {//関数 2 の操作、マーケットへの転送
if (http_request.readyState == 4) { // オブジェクトのステータスを決定する
if (http_request.status == 200) { // 情報が正常に返されたので、情報の処理を開始します
document.getElementById("statusTxt").innerHTML="";
addOptionGroup("city",http_request.responseText);
} else { //ページは正常ではありません
alert("リクエストしたページには例外があります。");
}
}else {//読み取りが完了していない限り
document.getElementById("statusTxt").innerHTML="通常の読み取りデータ...";
}
}
function processRequest3() {//関数 3 を実行し、都道府県と都市を入力します
if (http_request.readyState == 4) { // オブジェクトのステータスを決定する
if (http_request.status == 200) { // 情報が正常に返されたので、情報の処理を開始します
document.getElementById("statusTxt").innerHTML="";
document.getElementById("district").value=http_request.responseText;
} else { //ページは正常ではありません
alert("リクエストしたページには例外があります。");
}
}else {//読み取りが完了していない限り
document.getElementById("statusTxt").innerHTML="通常の読み取りデータ...";
}
}
function loadProvince() {//都道府県をロードします