A-AA+then

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

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

โค็ตดังนี้

ส่งค่า 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
            */


       }

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

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

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

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

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

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

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

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

ขอบคุณคะ
2
^