ช่วยเรื่องการบวกใน Array หน่อยเถอะครับ !!!!! จริงผมคัดลอกจากใครไม่รู้ลืมไปแล้ว แต่อยากให้มีการบวกที่เป็น Array แบบข้างบนนี้นะครับ
ขอบคุณคุณ a-mac
ผมรอคำตอบอยู่เลยจะนำไปทดลองเดี๋ยวนี้เลยครับ..
ขอบคุณครับ.
Date :
2009-07-10 17:00:26
By :
Backer
<script language="javascript">
var obj= document.all;
function sum(n){
obj.total.value=obj.total.value+document.getElementById('t'+n).value;
}
</script>
<?
for ($i=1;$i<=5;$i++){?>
<input name="t[]" type="text" id="<? echo "t".$i?>" onfocus="sum('<?=$i?>')" onblur="sum('<?=$i?>')" onchange="sum('<?=$i?>')" onkeyup="sum('<?=$i?>')" value="0"/>
<br />
<? } ?>
total <input name="total" type="text" id="total"/>
ตามข้างบนนี้ไม่ได้ครับ..
มันเหมือนว่าจับมาเรียงกันมากกว่าจะบวกเป็นตัวเลขนะครับ..
รบกวนอีกที..
Date :
2009-07-10 17:04:46
By :
Backer
<script language="javascript">
var obj= document.all;
function sum(n){
obj.total.value=parseInt(obj.total.value)+parseInt(document.getElementById('t'+n).value);
}
</script>
<?
for ($i=1;$i<=5;$i++){?>
<input name="t[]" type="text" id="<? echo "t".$i?>" onfocus="sum('<?=$i?>')" onblur="sum('<?=$i?>')" onchange="sum('<?=$i?>')" onkeyup="sum('<?=$i?>')" value="0"/>
<br />
<? } ?>
total <input name="total" type="text" id="total"/>
--------------
ค่า total ที่ได้ คือ NaN ครับ
Date :
2009-07-10 17:21:17
By :
Backer
<input name="total" type="text" id="total" value="0"/>
ก้จะได้ค่าออกมาครับ แต่ทำแบบนี้ผมว่ามันยังผิดอยู่ เด่วผมเขียนให้ใหม่ครับ
Date :
2009-07-10 18:09:11
By :
lozomac
Code (PHP)
<?
$i =1;
for (;$i<=5;$i++){?>
<input name="t[]" type="text" id="<? echo "t".$i?>" onblur="sum()" onkeyup="sum()" value="0"/>
<br />
<? } ?>
total <input name="total" type="text" id="total"/>
<script language="javascript">
var obj= document.all;
function sum(){
var sum = 0;
for(i=1;i<<?=$i?>;i++)
{
sum = sum+parseFloat(document.getElementById('t'+i).value);
}
obj.total.value=sum;
}
</script>
ต้องเอา javascript ไว้หลัง php นะครับ เพราะต้องใช้ข้อมุลจากตัวแปร ของ php
Date :
2009-07-10 18:31:45
By :
lozomac
ขอบคุณคุณ a-mac มากครับ.. โดยเฉพาะคำแนะนำเกี่ยวกับว่า ...ต้องเอา javascript ไว้หลัง php นะครับ เพราะต้องใช้ข้อมุลจากตัวแปร ของ php... เพราะผมไม่รู้จริง ๆ ในข้อนี้.
ขอบคุณมากอีกครั้งครับ.
Date :
2009-07-13 07:38:33
By :
Backer
<?
$i =1;
for (;$i<=5;$i++){?>
<input name="t[]" type="text" id="<? echo "t".$i?>" onblur="sum()" onkeyup="sum()" value="0"/>
<br />
<? } ?>
total <input name="total" type="text" id="total"/>
<script language="javascript">
var obj= document.all;
function sum(){
var sum = 0;
for(i=1;i<<?=$i?>;i++)
{sum = sum+parseFloat(document.getElementById('t'+i).value);}
obj.total.value=sum;
obj.total.value=addComma(sum.toFixed(4),'.','.',',');
}
</script>
<script language="javascript">
function addComma(nStr, inD, outD, sep)
{
nStr += '';
var dpos = nStr.indexOf(inD);
var nStrEnd = '';
if (dpos != -1) {
nStrEnd = outD + nStr.substring(dpos + 1, nStr.length);
nStr = nStr.substring(0, dpos);}
var rgx = /(\d+)(\d{3})/;
while (rgx.test(nStr)) {
nStr = nStr.replace(rgx, '$1' + sep + '$2');}
return nStr + nStrEnd;
}
</script>
ผมต้องการจุดทศนิยม 4 ตัวและมี Comma ถ้าคุณ A-MAC ทำให้กระชับกว่านี้จะขอบคุณมากครับ
Date :
2009-07-13 11:30:59
By :
Backer
ใช่ครับ เป็น เว็บนี้แหละ .. ถ้าเราจะให้มันเป็น class ได้หรือไม่ เช่น ตัวใหนที่เราต้องการให้มี format นี้ เราก็สามารถใส่ class ไปได้เลย จะสะดวกเวลาใช้มากกว่า และนำไปใช้กับ php ได้เลย..
ขอบคุณมากครับ.
Date :
2009-07-13 14:56:25
By :
Backer
ไม่รู้เป้นคำถามรึป่าวนะครับ
class ที่ว่านี้คือ class ของอะไรครับ javascript, css, หรือ php
javascript แน่นอนว่าทำไม่ได้
css ใช่ครับ ตัวนี้ใส่ class ได้ แต่ css ใช้แสดงผลทางกายภาพ เช่น ขนาด สี ไม่สามารถกำหนดรูปแบบได้
php อันนี้ มึนนิดหน่อย คือถ้าตัวเลขที่แปลงแล้วอยู่ใน textbox กด submit ไป php ก็สามารถดึงมาใช้ได้อยู่แล้วครับ หรือ ถ้าเป็นรูปแบบการแสดงตัวเลขอย่างที่บอกคือ มี ','(คอมม่า) และจุดทศนิยม 4 หลัก php ก็มีฟังก์ชั่นอยู่แล้ว
Code (PHP)
<?php
echo number_format("12345.12345",4,".",",");
?>
ไม่รู้ว่าผมเข้าใจอะไรผิดรึป่าว
Date :
2009-07-13 15:30:16
By :
lozomac
ขอบคุณครับคุณ a-mac คุณเข้าใจถูกต้องครับ..
และผมก็พยายาม search ดูว่ามีแบบที่เป็น Class หรือเปล่าก็ไม่มี.
ขอบคุณครับ..
Date :
2009-07-14 07:30:48
By :
Backer
Arry 0 [Item]= aaaaaaaaaaaa [Qty]=200
Arry 1 [Item]=[Qty]=500
คุณ a-mac ครับ
ตอน insert ข้อมูลผมลองอยู่นานนะแต่ผลที่ได้ตามข้างบน..โดย
array 0 =ถูกต้อง
array 1 =ไม่ถูกต้อง... ตรงที่ item = ค่าว่าง แต่ ค่า Qty นี่ถูกต้อง
ผมกำหนดค่าใน input และ ค่าวนลูปเริ่มจาก 0
รบกวนอีกทีครับ..
Best Regards,
Date :
2009-07-14 08:54:50
By :
Backer
Attn : คุณ a-mac
ถ้าเข้ามา ขอแจ้งให้ทราบว่า ได้แล้วนะครับ ด้วยเหตุที่ผมกำหนดค่า item[] ให้เป็น hiden อีก 1 input ทำให้ค่า array บวกขึ้น 1 เฉพาะค่าของ Item ค่าเดียว..
Best Regards,
Date :
2009-07-14 10:57:43
By :
Backer
a-mac เขาแน่จริงๆ
Date :
2009-07-14 12:16:39
By :
plakrim
พึ่งเข้ามาครับ เมื่อคืนอยู่ดึก ก็ยินดีด้วยครับ ที่งานเรียบร้อยดี ขอบคุณ คุณ PlaKriM ที่ชมครับ
Date :
2009-07-14 13:57:04
By :
lozomac
ยังไม่เรียบร้อยเท่าไหร่ครับ ... เพราะเป็น Project ใหม่ที่ผมต้องการทำให้ทุกอย่างไม่ fix คล้าย automatic running web ไม่แน่ใจทำได้หรือเปล่าแต่อยากลอง ขอบคุณครับที่เข้ามาเยี่ยม..
นอกเรื่องนะครับ... อยากถามมานาน คือ นุกิจรัมย์ เนี่ย อยู่บุรีรัมย์หรือเปล่า และเป็นคนในนี้หรือเปล่า ถ้าใช่คนบ้านเดียวกันนะครับ เพราะเพื่อน ๆ ก็ ......รัมย์ ต่อท้ายทั้งนั้น...
ถ้าว่างจาก Project นี้จะมาช่วยตอบคำถามนะ เฉพาะคำถามที่น่าตอบนะครับ.
Best Regards,
Date :
2009-07-15 09:14:15
By :
Backer
Load balance : Server 04