สอบถามเรื่องสคริป เลือก จังหวัด อำเภอ ตำบล มันไม่ส่งค่าอะค่ะ

สอบถามเรื่องสคริป เลือก จังหวัด อำเภอ ตำบล มันไม่ส่งค่าอะค่ะ



พอเลือก อำเภอ ค่ามันไม่ยอมส่งอะค่ะ ทำให้ข้อมูลของตำบลไม่ออกมา



พอ echo ออกมาก่ดูไม่ได้ พอดูมันบอกว่า error บรรทัดนี้อะค่ะ



unterminated string litral

var datas = eval( '(' + req.responseText + ')' ); // JSON




แบบนี้อะค่ะ



ไม่รู้ต้องแก้ยังไงอะค่ะ รบกวนด้วยค่ะ
10 ก.ค. 2554 4 1,391

ลอง alert(req.responseText) ก่อน var datas = eval( '(' + req.responseText + ')' );  ครับดูว่า server response อะไรออกมา
#1

[{"categ_id":"<label for='categ_id'>1 :</label><select name='categ_id' id='categ_id' onchange='dochange(this)'><option value=''>--Select Category--</option><option value='1'>เฟอร์นิเจอร์</option><option value='2'>บานประตูไม้สัก</option><option value='3'>บิ้วอินไม้สัก</option><option value='4'>Decorating</option></select>","sc_id":"<label for='sc_id'>2 :</label><select name='sc_id' id='sc_id' onchange='dochange(this)'><option value=''>--------------</option></select>","ssc_id":"<label for='ssc_id'>3 :</label><select name='ssc_id' id='ssc_id'><option value=''>--------------</option></select>"}]



มันบอกว่าแบบนี้อะค่ะ  ค่า sc_id (อำเภอ )มันไม่ส่งมาอะค่ะ
#2

ตัวสคริป เปนแบบนี้อะค่ะ



<?php    

    //ค่าที่ได้รับมาจากการ Submit



    

    echo "<form action=\"index.php?view=productList\" method=\"post\"  style=\"padding:0px 0px 0px 0px; margin:0px 0px 0px 0px; \">\n";

    echo '<span id="categ_idDiv">';

    echo "<label for=\"categ_id\">1 :</label><select name=\"categ_id\" id=\"categ_id\" onchange=\"dochange('categ_id')\">\n";

    echo "<option value=\"$categ_id\">--------------</option> \n" ;

    echo "</select></span>\n";

    

    echo '<span id="sc_idDiv">';

    echo "<label for=\"sc_id\">2 :</label><select name=\"sc_id\" id=\"sc_id\" onchange=\"dochange('sc_id')\">\n";

    echo "<option value=\"$sc_id\">--------------</option> \n" ;

    echo "</select></span>\n";

    

    echo '<span id="ssc_idDiv">';

    echo "<label for=\"ssc_id\">3 :</label><select name=\"ssc_id\" id=\"ssc_id\">\n"; //รายการสุดท้ายไม่ต้องมี event แล้ว

    echo "<option value=\"$ssc_id\">--------------</option> \n" ;

    echo "</select></span>&nbsp;&nbsp;";

 

    echo "<input type=\"submit\" value=\"Submit\" name=\"submit\" />\n";

    echo "</form>\n";

?>






<script type="text/javascript">

//AJAX

function Inint_AJAX()

{

    try

    {

        return new ActiveXObject( "Msxml2.XMLHTTP" );

    }

    catch ( e )

    {

    };



    try

    {

        return new ActiveXObject( "Microsoft.XMLHTTP" );

    }

    catch ( e )

    {

    };



    try

    {

        return new XMLHttpRequest();

    }

    catch ( e )

    {

    };



    alert( "XMLHttpRequest not supported" );

    return null;

};



function dochange( obj )

{

    var req = Inint_AJAX();

    var categ_id = document.getElementById( 'categ_id' ).value;

    var ssc_id = document.getElementById( 'ssc_id' ).value;

    if ( obj && obj.name == 'categ_id' ) //เมื่อทำการเลือที่จังหวัดมา ให้เคลียร์ค่าอำเภอ

    {

        var sc_id = "";

    }

    else //เลือกรายการอื่น

    {

        var sc_id = document.getElementById( 'sc_id' ).value;

    };

    var data = "categ_id=" + categ_id + "&sc_id=" + sc_id + "&ssc_id=" + ssc_id;

    req.onreadystatechange = function()

    {

        if ( req.readyState == 4 )

        {

            if ( req.status == 200 )

            {

                var datas = eval( '(' + req.responseText + ')' ); // JSON

                document.getElementById( 'categ_idDiv' ).innerHTML = datas[0].categ_id;

                document.getElementById( 'sc_idDiv' ).innerHTML = datas[0].sc_id;

                document.getElementById( 'ssc_idDiv' ).innerHTML = datas[0].ssc_id;

            };

        };

    };

    req.open( "post" , "chooseCat.php" , true ); //สร้าง connection

    req.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" ); // set Header

    req.send( data ); //ส่งค่า

};



//โหลดครั้งแรก

window.onload = function()

{

    dochange( '' );

};

</script>






หน้า php เปนแบบนี้อะค่ะ



<?php

    //include("../config.inc.php");

    header( "Expires: Sat, 1 Jan 2005 00:00:00 GMT" );

    header( "Last-Modified: ".gmdate( "D, d M Y H:i:s" )."GMT" );

    header( "Cache-Control: no-cache, must-revalidate" );

    header( "Pragma: no-cache" );

    header( "content-type: application/x-javascript; charset=UTF-8" );



    $categ_id = $_POST['categ_id'];

    $c_id = $_POST['c_id'];

    $sc_id =$_POST['sc_id'];

    $ssc_id = $_POST['ssc_id'];

    



    $hostname_conn = "localhost";

    $username_conn = "root";

    $password_conn = "root";

    $database_conn = "mallika";

    mysql_connect( $hostname_conn , $username_conn , $password_conn ) or die( "เชื่อมต่อฐานข้อมูลไม่ได้" );

    mysql_select_db( $database_conn ) or die( "เลือกฐานข้อมูลไม่ได้" ); // เลือกฐานข้อมูล

    //ให้คืนค่าจังหวัดไว้เป็นอันดับแรก

    $sql = "SELECT sp_id, sp_name,sp_name_en FROM super_catag ORDER BY sp_id";

        mysql_query("SET NAMES UTF8");

        $result = mysql_query( $sql );

    echo "[{\"categ_id\":\"";

    echo "<label for='categ_id'>1 :</label>";

    echo "<select name='categ_id' id='categ_id' onchange='dochange(this)'>";

    echo "<option value=''>--Select Category--</option>";

    while( $fetcharr = mysql_fetch_array( $result ) )

    {

        $id = $fetcharr[sp_id];

        $name = $fetcharr[sp_name];

        $name_en = $fetcharr[sp_name_en];

        echo "<option value='$id'";

        if ( $categ_id == $id ) //เลือกจังหวัดที่เลือกไว้

        {

            echo " selected='selected'";

        };

        echo ">
$name</option>";

    };

    echo "</select>\",\"sc_id\":\"";



    echo "<label for='sc_id'>2 :</label>";

    echo "<select name='sc_id' id='sc_id' onchange='dochange(this)'>";

    //ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ

    if ( $categ_id != "0" && $categ_id != "" )

    {

        echo "<option value=''>--Select--</option>";

        echo $sql = "SELECT c_id, c_name,c_name_en FROM categ WHERE sp_id='$categ_id' ORDER BY c_name";

           

            mysql_query("SET NAMES UTF8");

            $result = mysql_query( $sql );

        while( $fetcharr = mysql_fetch_array( $result ) )

        {

            $id = $fetcharr[c_id];

            $name = $fetcharr[c_name];

            $name_en = $fetcharr[c_name_en];

            echo "<option value='$id'";

            if ( $sc_id == $id ) //เลือกอำเภอที่เลือกไว้

            {

                echo " selected='selected'";

            };

            echo ">
$name</option>";

        };

    }

    else

    {

        echo "<option value=''>--------------</option>";

    };



    echo "</select>\",\"ssc_id\":\"";



    echo "<label for='ssc_id'>3 :</label>";

    echo "<select name='ssc_id' id='ssc_id'>";



    //ถ้ามีการเลือกอำเภอมาแล้วให้แสดงตำบลต่อ

    if ( $sc_id != "0" && $sc_id != "" )

    {

        echo "<option value=''>--Select--</option>";

        $sql = "SELECT sc_id, sc_name,sc_name_en FROM sub_categ WHERE c_id='$sc_id' ORDER BY sc_name" ;

            mysql_query("SET NAMES UTF8");

            $result = mysql_query( $sql );

        while( $fetcharr = mysql_fetch_array( $result ) )

        {

            $id = $fetcharr[sc_id];

            $name = $fetcharr[sc_name];

            $name_en = $fetcharr[sc_name_en];

            echo "<option value='$id'";

            if ( $ssc_id == $id ) //เลือกตำบลที่เลือกไว้

            {

                echo " selected='selected'";

            };

            echo ">
$name</option>";

        };

    }

    else

    {

        echo "<option value=''>--------------</option>";

    };

    echo "</select>\"}]";



    mysql_close();

?>
#3

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