สอบถามผู้รู้ทุกคนคะการบวกเลข

สอบถามผู้รู้ทุกคนคะการบวกเลข
จากรูปถ้าเราเลือก

ไม่มีชิ้นย่อย  ให้ตัวเลข 0026 บวกเพิ่ม 0027

แต่ถ้าเลือก มีชิ้นย่อย ให้ตัวเลขเป็น 0026 ดังเดิม



เราจะเช็คอย่างไร เอาค่าไปบวกอย่างไรคะ

08 พ.ย. 2553 8 1,296

ก็ส่งค่า $_POST  ปกติก็ได้นิครับ



แค่เพิ่มการส่งค่า ไม่มีชิ้นย่อย กับ ชิ้นย่อยไปด้วย



if(ไม่มีชิ้นย่อย != "")

   {

    ค่าโชว์ = ค่า 0026 + ค่้า 0027;

   }else{

   ค่าโชว์ = ค่า 0026;

   }





#1

555555+++ บวกเลขไม่เป็นหรือครับ ?



คำถามไม่ได้ระบุว่าบวกตอนไหน บวกทันที หรือบวกเมื่อ submit



บน PHP ก็ตามกระทู้ด้านบนเลย ใช้ if แยกข้อมุลจากการโพสต์ที่ตัวแปรของ option



ถ้า Javascript ก็ใช้ if เช่นกันตอนคำนวณ โดยใช้ document.getElementById('option_id').checked ในการตรวจสอบว่ามันถูกเลือกอยู่หรือไม่



ข้อควรระวัง เราไม่สามารถระบุ id เป็น array ได้ (แต่ name ได้ เช่น check[]) ให้เราใช้ตัวเลขกำกับลงไปให้ชัดเจนครับ เช่น check_1 check_2 (name และ id ไม่จำเป็นต้องเหมือนกัน)
#2


    laughlaugh



     เหมือนถามแบบไม่อยากได้คำตอบ อะไรประมาณนั้น



     



    คุณ goragod เขาดีมาก ที่แนะว่าต้องถามแบบบอกรายละเอียดแบบไหน คนที่จะตอบจะได้เข้าใจคำถาม


    และให้คำตอบได้ตรงจุด คนเก่งเขาเจอคำถามแบบนี้ บางคนเขาแค่อ่าน แล้วก็ปล่ยอไป

#3

แหมมมแซวกันซะหมายถึงการเขียนโค๊ตต่างหาก(อ่านดูเหมือนหลอกว่ายังไงก็ไม่รู้)

ตอนที่เราคลิกเลือกเลยคะโดยที่ยังไม่  submit เป็นการแสดงผลแบบทันที เพราะจะเอาค่าที่ได้ไปลง bd

คือถ้าเราเลือกไม่ชิ้นย่อย ก็ให้เอาค่าที่ได้มาบวกเพิ่ม

และถ้าเลือก ไม่มีชิ้นย่อยให้แสดงค่าเดิม

ประมาณนี้คะ
#4

ลองทำตามคำตอบที่ 2 ดูนะครับ หลักการของมันก็ตรงไปตรงมาแหละครับ คือใช้ if ตรวจสอบว่า option ตัวใดถูกเลือกอยู่ แล้วก็ส่งไปคำนวณตามที่เลือกเลยครับ



if(document.getElementById('option_1').checked){

  result = input_1 + input_2

} else {

  result = input_1

}



ประมาณนี้
#5

wink 


    <form id="form1" name="form1" method="post" action="">


    <input type="radio" name="radio" id="radio" onclick="setData(2);" value="radio" /> ไม่มีขั้นย่อย


    <input type="radio" name="radio2" id="radio2" onclick="setData(1);"  value="radio2" /> มีขั้นย่อย


    <input name="data1" type="text" id="data1" value="0026" size="10" /> 


    </form>


     


    <script type="text/javascript">


    var originVal=null;


    function setData(case_i){


       var obj=document.getElementById('data1');


       if(originVal==null){


          originVal=obj.value;


      }


      if(case_i==1){ // ค่าเดิม


        obj.value=originVal;


      }else{ //ค่าเดิม + 1


        var str=''+(parseInt(originVal)+1);


        while(str.length<4){


           str = '0' + str;


        }


        obj.value=str;


      }


    }


    </script>

#6

ขอบคุณมากคะเอาไปปรับใช้ได้อีกเยอะคะ
#7

สิ่งที่ต้องทำจริงๆ มันอาจจะมีมากกว่านี้นะครับ โค้ดด้านบน จะเป็นแค่ การตรวจสอบเมื่อ ทำการเลือก option ตัวใดตัวหนึ่ง แต่ในความเป็นจริงแล้ว ผมไม่แน่ว่า input ที่ใช้ สามารถกรอกค่าได้หรือไม่ ถ้ามันสามารถกรอกค่าได้ ก็ควรเขียนอีกฟังก์ชั่นหนึ่งเพื่อรองรับการกรอกค่าด้วย เช่น การคำนวณเมื่อมีการกรอกตัวเลข ด้วย keypress (ตัวอย่างหาได้บนเว็บ) และ การควบคุมให้ input รับค่าได้เพียงตัวเลขเท่านั้น



เพื่อความสมบูรณ์  อาจมีอีกหลายอย่างที่ต้องทำ และ ถ้าชุดคำสั่งด้านบน อาจมีได้หลายชุดละก็ เตรียมปวดหัวได้เลย



กลัวรึยัง.....:48:



แต่คำตอบของคำถามทั้งหมด หาได้บนเว็บครับ ค่อยๆ ศึกษาไปนะ



ว่าแต่เห็นทำมาตั้งนานแล้ว ยังไม่เสร็จอีกรึ ?...
#8
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^