A-AA+then

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

1,231
สอบถามผู้รู้ทุกคนคะการบวกเลข
จากรูปถ้าเราเลือก
ไม่มีชิ้นย่อย  ให้ตัวเลข 0026 บวกเพิ่ม 0027
แต่ถ้าเลือก มีชิ้นย่อย ให้ตัวเลขเป็น 0026 ดังเดิม

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

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

ก็ส่งค่า $_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
^