A-AA+then

ค่า textarea ไม่ส่งค่าไปหน้าที่กำหนดครับ(Ajax)

2,783
ผมจะ insert ลงฐานข้อมูลแต่ค่ามันไม่ไปเลยครับ โค้ดคร่าวๆเป็นดังนี้
หน้า post.php
<form method="post" action="post_process.php" name="sel" onsubmit="return valid();">
<?
    echo '<span id="provinceDiv">';
    echo "<select name=\"province\" id=\"province\" onchange=\"dochange('province')\"> ";
    echo "<option value=\"$province\">--------------</option> " ;
    echo "</select></span> ";
 ?>
   

<?
    echo '<span id="amphurDiv">';
    echo "<select name=\"amphur\" id=\"amphur\" onchange=\"dochange('amphur')\"> ";
    echo "<option value=\"$amphur\">--------------</option> " ;
    echo "</select></span> ";
?>


<----โค้ด Ajax----->
</form>
หน้า province.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=windows-874" );

    $province = $_POST[province];
    $amphur = $_POST[amphur];
   

include('connect.php');
   //ให้คืนค่าจังหวัดไว้เป็นอันดับแรก
    $sql = "SELECT * FROM product_type_sub ";
    $result = mysql_query( $sql );
    echo "[{\"province\":\"";
    echo "<select name='province' id='province' onchange='dochange(this)'>";
    echo "<option value='0'>--กรุณาเลือกประเภทประกาศ--</option>";
    while( $fetcharr = mysql_fetch_array( $result ) )
    {
        $id = $fetcharr[pts_id];
        $name = $fetcharr[pts_name];
        echo "<option value='$id'";
        if ( $province == $id ) //เลือกจังหวัดที่เลือกไว้
        {
            echo " selected='selected'";
        };
        echo ">
$name</option>";
    };
    echo "</select>\",\"amphur\":\"";

    echo "<select name='amphur' id='amphur' >";
    //ถ้ามีการเลือกจังหวัดมาแล้วให้แสดงอำเภอต่อ
    if ( $province != "0" && $province != "" )
    {
        echo "<option value='0'>--กรุณาเลือกหมวดประกาศ--</option>";
        $sql = "SELECT * FROM product  WHERE pts_id='$province'";
        $result = mysql_query( $sql );
        while( $fetcharr = mysql_fetch_array( $result ) )
        {
            $id = $fetcharr[pro_id];
            $name = $fetcharr[pro_name];
            echo "<option value='$id'";
            if ( $amphur == $id ) //เลือกอำเภอที่เลือกไว้
            {
                echo " selected='selected'";
            };
            echo ">
$name</option>";
        };
    }
    else
    {
        echo "<option value=''>--------------</option>";
    };

    echo "</select>\",\"tumbon\":\"";6j


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

    echo "\"}]";

    mysql_close();
?>


ผมส่งค่าไปหน้า post_process.php แต่ทำยังไงมันก็ไม่เห็นค่า ของ select box สองตัว ผมลอง echo ดูค่าก็ไม่มาสักทีครับ

หน้า post_process.php

<?
$province = $_POST[province];
$amphur = $_POST[amphur];
//$Page=$_POST[Page];

echo $province;
echo $amphur;
exit();ห
?>

ลองใช้ทั้ง $_POST,$_GET,$_REQUEST มันก็ไม่มีค่าส่งมาครับ ผู้รู้ดูให้หน่อยครับ มันเป็นเพราะอะไร

6 ความคิดเห็น

ก็ไม่ผิดนะ แล้วมันแสดงผลได้ถูกต้องหรือเปล่า
1

มันแสดงผลถูกครับ แต่มันไม่ส่งค่าไปหน้าอื่น
2

 แล้วหน้า post_process.php มันแสดงปกติมั้ย (หมายถึงมันเรียกมาแสดงมั้ย)submit ด้วย Ajax หรือผ่านฟอร์มธรรมดา
3

ผ่านฟอร์มธรรมดาครับ ผมลอง query คำสั่ง sql ดู ฟิลด์อื่นก็แสดงปกตินะครับ แต่ยกเว็นสองฟิลด์แรก
<?
    echo '<span id="provinceDiv">';
    echo "<select name=\"province\" id=\"province\" onchange=\"dochange('province')\"> ";
    echo "<option value=\"$province\">--------------</option> " ;
    echo "</select></span> ";
 ?>
   

<?
    echo '<span id="amphurDiv">';
    echo "<select name=\"amphur\" id=\"amphur\" onchange=\"dochange('amphur')\"> ";
    echo "<option value=\"$amphur\">--------------</option> " ;
    echo "</select></span> ";
?>

 
ส่วนนี้แหละครับที่มันไม่ส่งค่าไป
4

ไม่พบความผิดปกติใดๆ ครับ สงสัยคงต้องลงโค้ดทั้งหมดแล้ว
5

ผมสงสัยว่า

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

หลัง echo นี้ต้องใส่เครื่องหมายฟันหนู ( '' ) แทนเครื่องหมายหยดน้ำ ( ') หรือเปล่าเช่น
echo "<span id='provinceDiv'>";

ประมาณนี้ผมเข้าใจถูกหรือเปล่าครับเนี่ย
6
^