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

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



ใน 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[i].selected){

            value += " " + select.options[i].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>
03 ต.ค. 2553 3 1,059

1.document.getElementById คืนค่าเป็น object Element ดังนั้นมันจะไม่มี property length

2.ผิดแน่ๆ ที่ select.length ตามข้อ 1



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



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



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

#1

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

#2

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



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