A-AA+then

คือผมมีปัญหาเรื่องใช้ Function Select ข้อมูล กับการโพสข้อมูล

1,001
คือผมทำแล้วเหมือนจะผิดแน่นอนอยากรู้ว่า 

ใน 1 หน้า ผมจะใช้ 2 function ยังไง ช่วยดูให้ทีครับ ตรงที่แทรกโครตแล้วมันผิดผมจะคุมพื้นสีชมพูใว้ครับ

ผิดที่นี้คือโปรแกรมมันไปรันไปหน้าอื่น เพราะเสริม function selection มา  ไม่ถึงกับเป็นฟังก์ชั่นนะครับ

ประมาณว่า  โพสข้อมูลลง DB ที่มีทั้งข้อมูลแบบโพสธรรมดา กับแบบ selection


คือถ้าตรงนี้ผมทำได้มันจะแก้ปัญหาที่ผมทำหลายๆจุดได้ด้วยอะครับ  ช่วยทีนะครับ

<html>
<head>
<title> </title>
</head>
<link href="styles.css" rel="stylesheet" type="text/css" />
<body>
<script language="JavaScript">
       var HttPRequest = false;
 
       function doCallAjax() {
          HttPRequest = false;
          if (window.XMLHttpRequest) {
             HttPRequest = new XMLHttpRequest();
             if (HttPRequest.overrideMimeType) {
                HttPRequest.overrideMimeType('text/html');
             }
          } else if (window.ActiveXObject) {
             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 value = "";     //อันนี้ผมเสริมมาครับจากของเดิมผม
        var select = document.getElecmentById("myselect");
        for(i=0 ; i<select.length ; i++) {
        if(select.options.selected){
            value += " " + select.options.value;
           }
        }


          var url = 'registercorrect.php';
          var pmeters = "mname=" + encodeURI( document.getElementById("mname").value) +
                "&mlastname=" + encodeURI( document.getElementById("mlastname").value ) +
                "&musername=" + encodeURI( document.getElementById("musername").value) +
                "&mpassword=" + encodeURI( document.getElementById("mpassword").value ) +
                "&cmpassword=" + encodeURI( document.getElementById("cmpassword").value ) +
                        "&memail=" + encodeURI( document.getElementById("memail").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
                {
                    if(HttPRequest.responseText == 'Y')
                    {
                        window.location = 'registerfinish.php';
                    }
                    else
                    {
                        document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
                    }
                }
                 
            }
 
       }
    </script>

<body>
<form name="frmMain">
<div class="warning"> <h1>Welcome To Social Network </h1>
<span id="mySpan"></span></div>
<table width="600" border="0" height="400" align="center">


 <tr>
    <th width="200" bgcolor="#eaf3fa" class="widget">
      <div align="left">First Name</div></th>
    <th bgcolor="#eaf3fa" class="widget"><input type="text" name="mname" id="mname" size="20" bgcolor="#eaf3fa" class="widget"></th>
  </tr>
  <tr>
    <th width="200" bgcolor="#eaf3fa" class="widget">
      <div align="left">Last Name</div></th>
    <th bgcolor="#eaf3fa" class="widget"><input type="text" name="mlastname" id="mlastname" size="20" bgcolor="#eaf3fa" class="widget"></th>
  </tr>
    <tr>
    <th width="200" bgcolor="#eaf3fa" class="widget">
      <div align="left">Username</div></th>
    <th bgcolor="#eaf3fa" class="widget"><input type="text" name="musername" id="musername" size="20" bgcolor="#eaf3fa" class="widget"></th>
  </tr>
  <tr>
   <th width="200" bgcolor="#eaf3fa" class="widget">
 <div align="left">Password</div></th>
    <th bgcolor="#eaf3fa" class="widget"><input type="password" name="mpassword" id="mpassword" size="20" bgcolor="#eaf3fa" class="widget"></th>
  </tr>
  <tr>
   <th width="200" bgcolor="#eaf3fa" class="widget">
<div align="left">Confirm Password</div></th>
    <th bgcolor="#eaf3fa" class="widget"><input type="password" name="cmpassword" id="cmpassword" size="20" bgcolor="#eaf3fa" class="widget"></th>
  </tr>
  <tr>
    <th width="200" bgcolor="#eaf3fa" class="widget">
<div align="left">Email</div></th>
    <th bgcolor="#eaf3fa" class="widget"><input type="text" name="memail" id="memail" size="20" bgcolor="#eaf3fa" class="widget"></th>
  </tr>
   <tr>   // อันนี้อีกที่ครับ
    <th width="200" bgcolor="#eaf3fa" class="widget">
    <div align="left">SEX</div></th>
    <th bgcolor="#eaf3fa" class="widget">
    <select name="myselect">
       <option value="Male">Male</option>
       <option value="faMale">famale</option>
   </select>
</th>
  </tr>


</table>
<br>
<center><div class="buttons">
    <button type="button" class="positive" name="btnRegister" id="btnRegister" OnClick="JavaScript:doCallAjax();">
        <img src="images/apply.gif" alt=""/>
        Click To Register
    </button>
</div>
</form>
</body>
</html>

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

1.document.getElementById คืนค่าเป็น object Element ดังนั้นมันจะไม่มี property length
2.ผิดแน่ๆ ที่ select.length ตามข้อ 1

ดูจากโค้ดผมเดาว่า ต้องการค่า sex สามารถทำได้ดังนี้

var sex = document.getElementById('myselect').value;

การอ่านค่าของ select สามารถอ่านได้โดยใช้ value เลยครับ โดยไม่ต้องเขียนโค้ดเพิ่มเติมอีก
1

แล้วผมะเขียนใส่ใว้ตรงไหนดีครับแหๆ พอดีไม่รู้เรื่องมากเท่าไร
2

ไม่รู้เหมือนกันครับ....

ไม่ได้แจ้งมาว่าจะเอาไปทำอะไร ที่ไหน ยังไง ก็เลยตอบไม่ถูก โค้ดที่เขียนให้ดูเป็นการอ่านค่าจาก select ถ้าต้องการนำไปใช้ที่ไหน ก็เอาโค้ดไปวางไว้แถวๆที่ต้องการได้เลยครับ อ่านค่าออกมาแล้วจะไปทำอะไรต่อ ก็แล้วแต่ความต้องการครับ...
3
^