GORAGOD.com

freelance, web developer, web designer, hosting, domain name

อีกทีนะครับอาจารย์ นั่งดูมาตั้ง อาทิตย์แล้ว how to ก็ดูแล้วยังไม

<script language="javascript" type="text/javascript">
function tick(aForm, xval) {// function
 var sum=0;
 for (var i = 0; i < aForm.elements.length; i++) { //for
 if (aForm.elements[i].checked == true ){ //if
 var sum = sum + xval;
 document.itest.ressum.value = sum;
 }//end if
  }//end for
}// end function
</script>

<form name='itest' id="itest">
<?php
for ($i = 1; $i <= 10; $i++) {
 echo "<input type='checkbox' name='$i' value='$i' onclick='tick(document.itest, $i)'>$i<br>";
}
?>
<input type="text" name="ressum" id="ressum">
</form>


จากโค้ดข้างบน..ความต้องการของผมคือ
ถ้าคลิ๊กเป็นจริงที่อินพุทใด ให้รวมค่าที่ส่งมารวมกับค่าเดิมที่มีอยู่แล้วแสดงผลรวมที่ ressum

แต่มันไม่ให้ผลตามที่ต้องการเลย ไม่รู้ผิดตรงไหน ช่วยดูโค้ดด้วยครับอาจารย์

ความต้องการต่อจากนั้นก็คือ เมื่อคลิ๊กเป็นเท็จผมต้องการให้ลบค่าที่ส่งไปออกจากผลรวมที่มีอยู่ ผมเลยเพิ่มโค้ดส่วนฟังก์ชั่นเป็น
function tick(aForm, xval) {// function
 var sum=0;
 for (var i = 0; i < aForm.elements.length; i++) { //for
 if (aForm.elements[i].checked == true ){ //if
 var sum = sum + xval;
 document.itest.ressum.value = sum;
 }//end if
 else if (aForm.elements[i].checked == false ){ //if
  sum = sum - xval;
  document.itest.ressum.value = sum;
  }
  }//end for
}// end function
ผลลัพธ์ที่ได้กลับแย่ไปใหญ่เลย
นั่งมองโค้ดนี้มาอาทิตย์กว่าๆแล้ว
 
05 พ.ย. 2551 2 2,888

ขออนุญาติแลกเปลี่ยนครับ

    ผมไม่แน่ใจว่าอ่านความต้องการของเจ้าของกระทู้ถูกต้องหรือเปล่า
 โค๊ดก็เลยออกมาแบบนี้ละครับ

ผิดถูกอย่างไร ก็ถือซ๋ะว่ามาแลกเปลี่ยน

ปล. ต้องขออภัยขี้เกียจเล่นสี

<script language="javascript" type="text/javascript">
function tick(objCheckbox) {// function
    if(objCheckbox.checked==true){
            document.itest.ressum.value = parseInt(document.itest.ressum.value) + parseInt(objCheckbox.value);
    }else{
            document.itest.ressum.value = parseInt(document.itest.ressum.value) - parseInt(objCheckbox.value);
    }
}// end function
</script>

<form name='itest' id="itest">
<?php
for ($i = 1; $i <= 10; $i++) {
 echo "<input type='checkbox' name='$i' value='$i' onclick='tick(this)'>$i<br>";
}
?>
<input type="text" name="ressum" id="ressum" value="0">
</form>

#1

จริงแท้แน่นอนครับ ขอบคุณมากเลย
#2
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^