|
 |
|
สอบถามเรื่อง javascript บวกค่าจาก radio เมื่อมีการเลือกแล้วให้บวกค่าตัวที่เลือก แล้วถ้าเกินค่าที่กำหนดก็แจ้งเตือนขึ้นมาครับ |
|
 |
|
|
 |
 |
|
1. ใช้ onclick/onchange
2. ตอนส่งพารามิเตอร์ 'check_total(this.value,$i);' ส่งไปสองตัว ตอนรับก็ควรใส่ไว้สอง
function check_total(val, idx){
3. php generated radio ที่มี name เป็น name='radim[".$i."]'
js ก็ต้องใส่ name ตามนั้น var tal = document.getElementsByName("radim[" + idx + "]");
4. ใช้ parseInt() สำหรับตัวเลข
ตัวอย่างแบบ รวมเฉพาะข้อย่อย
Code (PHP)
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
var r = 0;
var oV;
function check_total(val, idx){
var tal = document.getElementsByName("radim[" + idx + "]");
var point = parseInt(val);
var hP = 1000;
var sum = parseInt(document.getElementById("txt1").value);
if (r === 0) {
sum += point;
oV = parseInt(document.getElementById("txt1").value);
} else {
sum = oV + point;
}
if(sum > hP){
alert("แต้มไม่พอ");
return false;
}
document.getElementById("txt1").value = sum;
r++;
}
</script>
<input type="text" name="txt1" id="txt1" value="500" readonly><br>
<?php
$num = array(200,100,300);
$no=1;
for($i=0;$i<3;$i++){
echo $no.".1 <input type='radio' name='radim[".$i."]' value='".$num[$i]."' onchange='check_total(this.value,$i);'>";
echo $no.".2 <input type='radio' name='radim[".$i."]' value='".($num[$i]*2)."' onchange='check_total(this.value,$i);'><br>";
$no++;
}
?>
</body>
</html>
|
 |
 |
 |
 |
Date :
2020-07-18 20:24:32 |
By :
PhrayaDev |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|

|
Load balance : Server 00
|