ส่งค่าตัวแปรไม่ได้ ไม่มีค่าตัวแปร


    <script type="text/javascript">

    <!-- province -->

    function Inint_AJAX() {

       try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE

       try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE

       try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript

       alert("XMLHttpRequest not supported");

       return null;

    };

    function dochange(src, val) {

         var req = Inint_AJAX();

         req.onreadystatechange = function () {

              if (req.readyState==4) {

                   if (req.status==200) {

                        document.getElementById(src).innerHTML=req.responseText; //รับค่ากลับมา

                   }

              }

         };

         req.open("GET", "fileScript/local.php?data="+src+"&val="+val); //สร้าง connection

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

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

    }

    window.onLoad=dochange('province', -1);    



    <!-- display -->

    var HttPRequest = false;



        function doCallAjax(Mode) {

        HttPRequest = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...

        HttPRequest = new XMLHttpRequest();

        if (HttPRequest.overrideMimeType) {

        HttPRequest.overrideMimeType('text/html');

        }

        } else if (window.ActiveXObject) { // IE

        try {

        HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");

        } catch (e) {

        try {

           HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");

        } catch (e) {}

        }

        }

       

        if (!HttPRequest) {

        alert('Cannot create XMLHTTP instance');

        return false;

        }

     

        var url = 'customer.php';

        var pmeters = "tcusName="+encodeURI( document.getElementById("cusName").value) +

             "&torgName="+encodeURI( document.getElementById("orgName").value) +

             "&taddr="+encodeURI( document.getElementById("addr").value) +

             "&tprovince="+encodeURI( document.getElementById("province").value) +

             "&tamphur="+encodeURI( document.getElementById("amphur").value) +

             "&tdistrict="+encodeURI( document.getElementById("district").value) +

             "&tpostCode="+encodeURI( document.getElementById("postCode").value) +

             "&ttel="+encodeURI( document.getElementById("tel").value) +

             "&tfax="+encodeURI( document.getElementById("fax").value) +

               "&tMode="+ Mode;

       HttPRequest.open('POST',url,true);

       HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

       HttPRequest.setRequestHeader("Content-length", pmeters.length);

       HttPRequest.setRequestHeader("Connection", "close");

       HttPRequest.send(pmeters);

       

       HttPRequest.onreadystatechange = function()

       {

         if(HttPRequest.readyState == 3)  // Loading Request

          {

           document.getElementById("mySpan").innerHTML = "Now is Loading...";

          }



         if(HttPRequest.readyState == 4) // Return Request

          {

           document.getElementById("mySpan").innerHTML = HttPRequest.responseText;

          }

       }

        }

    </script>

    

    <form name="frmMain" id="frmMain" style="width:auto;">

    <table width="770" border="0" cellspacing="0" cellpadding="0">

          <tr>

            <td width="140"><div align="left" style="padding:5px;"><font size="2">ชื่อ-นามสกุล</font></div></td>

            <td><div align="left" style="padding:5px;">

              <input type="text" name="cusName" id="cusName" size="35" />

            </div></td>

            <td style="border-left:solid 1px #999999;" width="2" rowspan="9"></td>

            <td width="250" rowspan="9" valign="top"><div style="width:auto; height:auto; padding:10px;"><p style="font-weight:bold; color:#333333; padding-bottom:5px;">คำอธิบายการใช้งาน</p>

              <p style="padding-bottom:5px;">การใส่่ชื่อ+นามสกุล เท่านั้น ไม่ต้องใส่นาม ใช้1เว้นวรรคเพื่อแบ่งชื่อและนามสกุล</p>

              <p style="padding-bottom:5px;">ที่อยู่ ให้ใส่ที่อยู่ที่สามารถติดต่อได้</p><p style="padding-bottom:5px;">เบอร์โทรศัพท์และโทรสาร ต้องเป็นตัวเลขเท่านั้น จำกัด10ตัว ไม่เว้นวรรค เช่น 0123456789</p></div></td>

            </tr>

          <tr>

            <td><div align="left" style="padding:5px;"><font size="2">ชื่อสถานประกอบการ</font></div></td>

            <td valign="bottom"><div align="left" style="padding:5px;">

              <input type="text" name="orgName" id="orgName" size="35" />

            </div></td>

            </tr>

          <tr>

            <td><div align="left" style="padding:5px;">เลขที่</div></td>

            <td><div align="left" style="padding:5px;">

                <input type="text" name="addr" id="addr" size="20" />

            </div></td>

            </tr>

          <tr>

            <td><div align="left" style="padding:5px;">จังหวัด</div></td>

            <td><div align="left" style="padding:5px;"><font id="province"><select name="province"><option value="0">Select</option></select></font></div></td>

          </tr>

          <tr>

            <td><div align="left" style="padding:5px;">อำเภอ</div></td>

            <td><div align="left" style="padding:5px;"><font id="amphur"><select name="amphur"><option value="0">Select</option></select></font></div></td>

          </tr>

          <tr>

            <td><div align="left" style="padding:5px;">ตำบล</div></td>

            <td><div align="left" style="padding:5px;"><font id="district"><select name="district"><option value="0">Select</option></select></font></div></td>

          </tr>

          <tr>

            <td><div align="left" style="padding:5px;">รหัสไปรษณีย์</div></td>

            <td><div align="left" style="padding:5px;">

              <label>

              <input type="text" name="postCode" id="postCode" maxlength="5" size="10" />

              </label>

            </div></td>

          </tr>

          <tr>

            <td><div align="left" style="padding:5px;"><font size="2">เบอร์โทรศัพท์</font></div></td>

            <td><div align="left" style="padding:5px;">

              <input type="text" name="tel" id="tel" size="15" maxlength="10" />

            </div></td>

            </tr>

          <tr>

            <td><div align="left" style="padding:5px;"><font size="2">เบอร์โทรสาร</font></div></td>

            <td><div align="left" style="padding:5px;">

                <input type="text" name="fax" id="fax" size="15" maxlength="10" />

            </div></td>

            </tr>

         

          <tr>

            <td colspan="4">&nbsp;</td>

          </tr>

          <tr>

            <td>&nbsp;</td>

            <td colspan="3"><div align="left" style="padding:5px;">

              <input name="input" type="reset" value="Reset" class="button" />

              &nbsp;&nbsp;

              <input type="button" class="button" name="btnAdd" id="btnAdd" value="เพิ่ม" OnClick="JavaScript:doCallAjax('ADD');">

          </div></td>

          </tr>

        </table>

    </form>

    

    ค่าตัวแปร province amphur และ district มันส่งค่าไม่ได้อ่าครับ ขอรบกวนด้วยนะครับ


09 ก.ย. 2554 4 2,106

id หายครับ แอบงงนึดนึ่งข้างบน มี Inint_AJAX แต่ใน doCallAjax ถึงไม่เรียก Inint_AJAX ครับ
#1


    ใส่  Inint_AJAX ตรงไหนอย่างไร ครับไม่รู้เรื่องเลย ajax ขอรบกวนอีกทีครับ


#2

ลอง alert(pmeters);  ออกมาดูก่อนส่งดีมั้ย ว่าค่าต่างๆใช่ที่ต้องการจะส่งหรือเปล่า



ถ้าใช่ ก็จะมี 2 สาเหตุที่รับไม่ได้ คือ

1. customer.php ไม่มีอยู่จริง

2. อ้าง path ไปยัง customer.php ไม่ถูก ลองระบุเป็น URL เต็ม



ถ้า customer.php มีแน่ๆ ระบุ path ถูกต้อง

ลอง print_r($_POST); ที่ customer.php ดู ว่าค่าที่ส่งไป เหมือนกับที่ alert ได้จากตอนแรกหรือเปล่า



ถ้าเหมือน เธออาจรับค่าไม่ถูกต้อง ให้รับค่าโดยใช้ $_POST เท่านั้น



ถ้าไม่เหมือน อาจมีปัญหาที่ header ที่เธอส่ง ให้ลองเอาออก (setRequestHeader ทั้งหลายที่เธอใส่ไว้) หรืออาจลองใส่แค่ Content-Type อันอื่นๆไม่ต้องใส่



#3


    ลองตามที่อาจารย์บอกแล้วครับ ขึ้น undefined ครับ.


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