สอบถามผู้รู้ทุกคนคะการบวกเลข HomeForumสอบถามผู้รู้ทุกคนคะการบวกเลข ฟงหวิน ขี่พายุทะลุโกรธ จากรูปถ้าเราเลือก ไม่มีชิ้นย่อย ให้ตัวเลข 0026 บวกเพิ่ม 0027 แต่ถ้าเลือก มีชิ้นย่อย ให้ตัวเลขเป็น 0026 ดังเดิม เราจะเช็คอย่างไร เอาค่าไปบวกอย่างไรคะ Wanchana yoojuy ก็ส่งค่า $_POST ปกติก็ได้นิครับ แค่เพิ่มการส่งค่า ไม่มีชิ้นย่อย กับ ชิ้นย่อยไปด้วย if(ไม่มีชิ้นย่อย != "") { ค่าโชว์ = ค่า 0026 + ค่้า 0027; }else{ ค่าโชว์ = ค่า 0026; } กรกฎ วิริยะ 555555+++ บวกเลขไม่เป็นหรือครับ ? คำถามไม่ได้ระบุว่าบวกตอนไหน บวกทันที หรือบวกเมื่อ submit บน PHP ก็ตามกระทู้ด้านบนเลย ใช้ if แยกข้อมุลจากการโพสต์ที่ตัวแปรของ option ถ้า Javascript ก็ใช้ if เช่นกันตอนคำนวณ โดยใช้ document.getElementById('option_id').checked ในการตรวจสอบว่ามันถูกเลือกอยู่หรือไม่ ข้อควรระวัง เราไม่สามารถระบุ id เป็น array ได้ (แต่ name ได้ เช่น check[]) ให้เราใช้ตัวเลขกำกับลงไปให้ชัดเจนครับ เช่น check_1 check_2 (name และ id ไม่จำเป็นต้องเหมือนกัน) nukcode sir เหมือนถามแบบไม่อยากได้คำตอบ อะไรประมาณนั้น คุณ goragod เขาดีมาก ที่แนะว่าต้องถามแบบบอกรายละเอียดแบบไหน คนที่จะตอบจะได้เข้าใจคำถาม และให้คำตอบได้ตรงจุด คนเก่งเขาเจอคำถามแบบนี้ บางคนเขาแค่อ่าน แล้วก็ปล่ยอไป ฟงหวิน ขี่พายุทะลุโกรธ แหมมมแซวกันซะหมายถึงการเขียนโค๊ตต่างหาก(อ่านดูเหมือนหลอกว่ายังไงก็ไม่รู้) ตอนที่เราคลิกเลือกเลยคะโดยที่ยังไม่ submit เป็นการแสดงผลแบบทันที เพราะจะเอาค่าที่ได้ไปลง bd คือถ้าเราเลือกไม่ชิ้นย่อย ก็ให้เอาค่าที่ได้มาบวกเพิ่ม และถ้าเลือก ไม่มีชิ้นย่อยให้แสดงค่าเดิม ประมาณนี้คะ กรกฎ วิริยะ ลองทำตามคำตอบที่ 2 ดูนะครับ หลักการของมันก็ตรงไปตรงมาแหละครับ คือใช้ if ตรวจสอบว่า option ตัวใดถูกเลือกอยู่ แล้วก็ส่งไปคำนวณตามที่เลือกเลยครับ if(document.getElementById('option_1').checked){ result = input_1 + input_2 } else { result = input_1 } ประมาณนี้ nukcode sir <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> ฟงหวิน ขี่พายุทะลุโกรธ ขอบคุณมากคะเอาไปปรับใช้ได้อีกเยอะคะ กรกฎ วิริยะ สิ่งที่ต้องทำจริงๆ มันอาจจะมีมากกว่านี้นะครับ โค้ดด้านบน จะเป็นแค่ การตรวจสอบเมื่อ ทำการเลือก option ตัวใดตัวหนึ่ง แต่ในความเป็นจริงแล้ว ผมไม่แน่ว่า input ที่ใช้ สามารถกรอกค่าได้หรือไม่ ถ้ามันสามารถกรอกค่าได้ ก็ควรเขียนอีกฟังก์ชั่นหนึ่งเพื่อรองรับการกรอกค่าด้วย เช่น การคำนวณเมื่อมีการกรอกตัวเลข ด้วย keypress (ตัวอย่างหาได้บนเว็บ) และ การควบคุมให้ input รับค่าได้เพียงตัวเลขเท่านั้น เพื่อความสมบูรณ์ อาจมีอีกหลายอย่างที่ต้องทำ และ ถ้าชุดคำสั่งด้านบน อาจมีได้หลายชุดละก็ เตรียมปวดหัวได้เลย กลัวรึยัง..... แต่คำตอบของคำถามทั้งหมด หาได้บนเว็บครับ ค่อยๆ ศึกษาไปนะ ว่าแต่เห็นทำมาตั้งนานแล้ว ยังไม่เสร็จอีกรึ ?... ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
แค่เพิ่มการส่งค่า ไม่มีชิ้นย่อย กับ ชิ้นย่อยไปด้วย
if(ไม่มีชิ้นย่อย != "")
{
ค่าโชว์ = ค่า 0026 + ค่้า 0027;
}else{
ค่าโชว์ = ค่า 0026;
}
คำถามไม่ได้ระบุว่าบวกตอนไหน บวกทันที หรือบวกเมื่อ submit
บน PHP ก็ตามกระทู้ด้านบนเลย ใช้ if แยกข้อมุลจากการโพสต์ที่ตัวแปรของ option
ถ้า Javascript ก็ใช้ if เช่นกันตอนคำนวณ โดยใช้ document.getElementById('option_id').checked ในการตรวจสอบว่ามันถูกเลือกอยู่หรือไม่
ข้อควรระวัง เราไม่สามารถระบุ id เป็น array ได้ (แต่ name ได้ เช่น check[]) ให้เราใช้ตัวเลขกำกับลงไปให้ชัดเจนครับ เช่น check_1 check_2 (name และ id ไม่จำเป็นต้องเหมือนกัน)
เหมือนถามแบบไม่อยากได้คำตอบ อะไรประมาณนั้น
คุณ goragod เขาดีมาก ที่แนะว่าต้องถามแบบบอกรายละเอียดแบบไหน คนที่จะตอบจะได้เข้าใจคำถาม
และให้คำตอบได้ตรงจุด คนเก่งเขาเจอคำถามแบบนี้ บางคนเขาแค่อ่าน แล้วก็ปล่ยอไป
ตอนที่เราคลิกเลือกเลยคะโดยที่ยังไม่ submit เป็นการแสดงผลแบบทันที เพราะจะเอาค่าที่ได้ไปลง bd
คือถ้าเราเลือกไม่ชิ้นย่อย ก็ให้เอาค่าที่ได้มาบวกเพิ่ม
และถ้าเลือก ไม่มีชิ้นย่อยให้แสดงค่าเดิม
ประมาณนี้คะ
if(document.getElementById('option_1').checked){
result = input_1 + input_2
} else {
result = input_1
}
ประมาณนี้
<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>
เพื่อความสมบูรณ์ อาจมีอีกหลายอย่างที่ต้องทำ และ ถ้าชุดคำสั่งด้านบน อาจมีได้หลายชุดละก็ เตรียมปวดหัวได้เลย
กลัวรึยัง.....
แต่คำตอบของคำถามทั้งหมด หาได้บนเว็บครับ ค่อยๆ ศึกษาไปนะ
ว่าแต่เห็นทำมาตั้งนานแล้ว ยังไม่เสร็จอีกรึ ?...