PDA

View Full Version : Xin giúp đỡ tìm lỗi trong đoạn code sau về sum dynamic input với javascript



huyhoa
25-07-2013, 17:31
Đã tự giải quyết được vấn đề.

superthin
25-07-2013, 20:45
Code của bạn là JavaScript sao lại dùng chức năng của diễn đàn dành cho code PHP? :D (có lẽ không nên cười bạn, cười mấy ông quản trị diễn đàn thì hơn)



temp = document.getElementById('price'+i).value + '*'+ document.getElementById('unit'+i).value;


Mình chưa đọc kỹ và lấy code về test, nhưng mình thấy đoạn mã trên có vấn đề. Bạn đang có ý định cộng hai chuỗi à? Dấu * ở đây đâu có phải là phép toán nhân hai giá trị với nhau? Nếu bạn muốn nó nhân thì phải eval chuỗi hoặc bạn phải nhân hai giá trị với nhau như là:


temp = parseFloat(document.getElementById('price'+i).valu e) * parseFloat(document.getElementById('unit'+i).value );

thì kết quả mới đúng chứ nhỉ? Còn nếu bạn đang định dùng phép cộng chứ không phải phép nhân, thì thay dấu * bằng dấu + là xong.

huyhoa
25-07-2013, 22:00
Dạ, thanks bác đã góp ý. Lúc đầu em cũng dùng eval



eval(numNFormat(frm.elements['price'+i].value) + '*' + numNFormat(frm.elements['unit'+i].value) );


Nhưng cũng không thành công, nên em định get value trực tiếp để nhân :tongue:

Em đã thử như bác nói nhưng cũng không thành công. Không rõ lỗi chỗ nào.
Check trong error console không thấy hiện bất cứ warning hay error nào?
Bác có thể nghiên cứu lại giúp em được không ạ?
:w00t:

PS: Em để trong PHP cho nó màu mè dễ nhìn, để trong code mà đoạn dài như trên nhìn chắc lóa mắt chả tìm đc lỗi quá :D