GORAGOD.com

freelance, web developer, web designer, hosting, domain name

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

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



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



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



unterminated string litral

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




แบบนี้อะค่ะ



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

ลอง 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 ขนาดไฟล์ไม่เกิน 2M
^