ถามเกี่ยวกับ combobox จังหวัด อำเภอ ตำบล (UTF) รอบ 2

ตอนนี้ผมแก้ให้สามารถใช้งานกับโปรเจคที่ทำได้แล้วแต่ยังมีส่วนที่ทำไม่ได้อยู่ เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ เลือกอำเภอให้เคลียร์ค่า ตำบล แต่ของผมมันทำเป็น4ชั้น จะเพิ่มเป็น หมู่บ้าน ถ้าเลือกตำบลให้เคลียร์คา ของหมู่บ้างแทน

ของที่เอาไปใช้แก้Code
function dochange( obj )
{
 var req = Inint_AJAX();
 var province = document.getElementById( 'province' ).value;
 var tumbon = document.getElementById( 'tumbon' ).value;
 if ( obj && obj.name == 'province' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ
 {
  var amphur = "";
 }
 else //เลือกรายการอื่น
 {
  var amphur = document.getElementById( 'amphur' ).value;
 };
 var data = "province=" + province + "&amphur=" + amphur + "&tumbon=" + tumbon;
 req.onreadystatechange = function()
 {
  if ( req.readyState == 4 )
  {
   if ( req.status == 200 )
   {
    var datas = eval( '(' + req.responseText + ')' ); // JSON
    document.getElementById( 'provinceDiv' ).innerHTML = datas[0].province;
    document.getElementById( 'amphurDiv' ).innerHTML = datas[0].amphur;
    document.getElementById( 'tumbonDiv' ).innerHTML = datas[0].tumbon;
   };
  };
 };
 req.open( "post" , "province.php" , true ); //สร้าง connection
 req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header
 req.send( data ); //ส่งค่า
};



ผมแก้ Code เป็นแบบนี้ สามารถใช้ได้แต่มันไม่เคลียร์ค่าให้กับหมู่บ้านที่ผมเพิ่มเข้าไป

function dochange( obj )
{
 var req = Inint_AJAX();
 var Mindept = document.getElementById( 'Mindept' ).value; // ส่วนของตัวอักษรสีแดง
 var Section = document.getElementById( 'Section' ).value;
 var Post = document.getElementById( 'Post' ).value;
 if ( obj && obj.name == 'Mindept' ) 
 {
  var Division = "";
 }
 else
 {
 var Division = document.getElementById( 'Division' ).value;
 };
 var data = "Mindept=" + Mindept + "&Division=" + Division + "&Section=" + Section + "&Post=" + Post;
 req.onreadystatechange = function()
 {
  if ( req.readyState == 4 )
  {
   if ( req.status == 200 )
   {
    var datas = eval( '(' + req.responseText + ')' ); // JSON ส่วนของตัวอักษรสีน้ำเงิน
    document.getElementById( 'MindeptDiv' ).innerHTML = datas[0].Mindept;
    document.getElementById( 'DivisionDiv' ).innerHTML = datas[0].Division;
    document.getElementById( 'SectionDiv' ).innerHTML = datas[0].Section;
    document.getElementById( 'PostDiv' ).innerHTML = datas[0].Post;
   };
  };
 };
 req.open( "post" , "province.php" , true ); //สร้าง connection
 req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header
 req.send( data ); //ส่งค่า
};

ถ้ามีการแก้ไขอะไรเข้าไปแทนส่วนที่เป็นตัวอักษรสีแดงจะมีปัญหาerrorส่วนที่เป็นตัวอักษรสีน้ำเงิน
ผมรองแก้ไขในส่วนที่เป็นตัวอักษรสีแดง แล้วได้Codeแบบนี้

var Mindept = document.getElementById( 'Mindept' ).value;
 var Post = document.getElementById( 'Post' ).value;
 if ( obj && obj.name == 'Mindept' )
 {
  var Division = "";
 }
 else if ( obj && obj.name == 'Division' )
 {
  var Division = document.getElementById( 'Division' ).value;
  var Section = "";
 }
 else if ( obj && obj.name == 'Section' )
 {
  var Section = document.getElementById( 'Section' ).value;
  var Post = "";
 }
 else
 {
  var Division = document.getElementById( 'Division' ).value;
  var Section = document.getElementById( 'Section' ).value;
 };

แต่ก็ยังมีปัญหาerrorส่วนที่เป็นตัวอักษรสีน้ำเงิน


 

12 ก.พ. 2552 3 2,772

ถ้ามัน error ก็ลอง alert ออกมาดูสิครับ จะได้รู้ว่าผลลัพท์มันเป็นยังไง งานนี้ผิดที่ PHP มากกว่าครับ
#1

ลองคลิกขวาเปิดดูโค้ดที่ krajay.thport.com ได้ครับ
#2

ขอบคุญมากครับทำได้แล้ว

#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^