A-AA+then

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

2,071

    <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 มันส่งค่าไม่ได้อ่าครับ ขอรบกวนด้วยนะครับ

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

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
^