สอบถามผู้รู้ เป็นเพราะอะไร

อยากสอบถามเรื่องการส่งค่าไปหน้าอื่นและส่งค่ากลับมาหน้าเดิมทำไมเราถึงเรียกใช้ตัวแปรนั้นๆไม่ได้คะคือไม่มีค่าไรส่งกลับมาเลยในตัวแปรนั้น



โค็ตดังนี้



ส่งค่า h_inputdateregis,h_sub1 ไปยังหน้า post2.php



<input name="h_inputdateregis" type="text"class="input_left" id="h_inputdateregis" size="4" maxlength="4" value="2004"/>

<input name="h_sub1" type="text" class="input_left" id="h_sub1" size="4"maxlength="4"readonly="" value="0303"/>



<span id="mySpan"></span>////เอาค่ามาโชว์ในช่องนี้



function doCallAjax(){

    $('#mySpan').html("Now is Loading...");

    var pmeters = 'myName='+document.getElementById("h_inputdateregis").value+document.getElementById("h_sub1").value;

    var html = $.ajax({

        async:false,

        cache:false,

        type:'POST',

        data: pmeters,

        url: 'post2.php',

        dataType: "html",

        success:function(data){

            $('#mySpan').html(data);    

        }

    });

}

</script>





หน้า post2.php



$_POST["myName"];

มาแยกค่าเพื่อคิวรี่ใน db



<table width="453" border="0" cellpadding="2" >

    <tr>

         <td>&nbsp;<input name="h_inputdateregis" type="text"class="input_left" id="h_inputdateregis" size="4" maxlength="4" readonly="" value="<?=$year?>"/>&nbsp;-&nbsp;<input name="h_sub1" type="text" class="input_left" id="h_sub1" size="4"maxlength="4"readonly="" value="<?=$group?>"/>&nbsp;-&nbsp;<input name="inputgennumber" type="text" class="input_left" id="inputgennumber"size="4" maxlength="4"  value="<?=$run_no?>">&nbsp;-&nbsp;<input name="inputgennumber_sub" type="text"   id="inputgennumber_sub" class="input_left"size="3" maxlength="3" value="<?=$series_no?>" /></td>

    </tr>

</table>



สคริปที่เอาค่า h_inputdateregis,inputgennumbe,inputgennumber_sub ไปแสดงค่าตรง <span id="mySpan"></span>





<script language="JavaScript">

       var HttPRequest = false;

       function doCallAjaxsub() {

          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 = 'post_sub.php';

            var pmeters = 'myName='+document.getElementById("h_inputdateregis").value+document.getElementById("h_sub1").value+document.getElementById("dest_0").value+document.getElementById("inputgennumber_sub").value;

            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;

                  }

               

            }



            /*

            HttPRequest.onreadystatechange = call function .... // Call other function

            */




       }



31 ม.ค. 2554 2 1,242

ปวดหัวกับคำถามของเธอจริงๆ.....



ถ้าจะให้เดา...เธอคงใช้ Ajax ส่งข้อมูลจาก input 2 ตัวแรกในคำถาม ส่งไป post2.php แล้วนำกลับมาแสดงใน mySpan...



ผมเข้าใจว่ามันคงจะแสดงได้ถูกต้องแล้ว แต่ ไม่สามารถอ่านค่า จาก input หลังจากส่งกลับได้



ผมเข้าใจถูกป่าว...



คำตอบนี้ถูกต้องเลยที่เดียว เหตุผลเพราะ



หลังจากส่งกลับมาแสดงผลแล้ว มันจะมี id เดียวกัน 2 ตัว คือ 2 ตัวแรก (สำหรับส่ง) และ 2 ตัวหลัง ที่อยู่ใน mySpan



การแก้ไข ให้เปลี่ยน id ใน post2.php ให้เป็นชื่ออื่น ครับ
#1

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