เรื่องฟังก์ชั่นครับ และการส่งค่าตัวแปรครับ
<script>
lyr=new Array(); //สร้าง Array
function decrease_num()
{
if(wait_time>0)
{
var show_place=document.getElementById('show');
show_place.innerHTML="wait"+A;
A--;
}
else
{
if(wait_time==0)
{
alert(0);
}
}
}
function begin()
{
lyr[0] = document.myform.elements['N'].value; //รับค่า N จาก php
lyr[1] = document.myform.elements['o'].value; //รับค่า o จาก php
lyr[2] = document.myform.elements['H'].value; //รับค่า H จาก php
lyr[3] = document.myform.elements['M'].value; //รับค่า M จาก php
lyr[4] = document.myform.elements['S'].value; //รับค่า S จาก php
if(lyr[1]==1)
{
if(lyr[0]==1)
{
A = lyr[2]*3600 + lyr[3]*60 + lyr[4]*1
var vela=setInterval("decrease_num()",1000);
setTimeout("clearInterval("+vela+")",(A+1)*1000);
}
</script>
<div id="show">area</div>
ปัญหาคือ ค่า A ผมอยากให้เกิดจากการรับค่าจาก php แต่ค่าที่รับมาอยู่ในฟังก์ชั่น begin ซึ่งเมื่อเราเรียก ไปที่ฟังก์ชั่น decrease_num() แล้ว ค่า A ของผมไม่ลด แต่เมื่อผมลองประกาศค่า ตัวแปร A ไว้นอก ฟังก์ชั้น เช่น A=60; โปรแกรมก็จะทำงานปรกติ (แต่ผมอยากได้ค่าที่เกิดจาการรับค่าครับ)
รบกวนถามว่ามีการส่งค่าข้ามฟังก์ชั่นได้ไหมครับ หรือถ้าไม่ได้แล้วพอจะมีวิธีอะไรมั้งครับ คือที่ผมทำจะเป็นการรับค่า เวลา จาก php ชั่วโมง นาที วินาที แล้วนำมาบวกกัน แล้วก็นำมานับถอยหลังครับ
lyr=new Array(); //สร้าง Array
function decrease_num()
{
if(wait_time>0)
{
var show_place=document.getElementById('show');
show_place.innerHTML="wait"+A;
A--;
}
else
{
if(wait_time==0)
{
alert(0);
}
}
}
function begin()
{
lyr[0] = document.myform.elements['N'].value; //รับค่า N จาก php
lyr[1] = document.myform.elements['o'].value; //รับค่า o จาก php
lyr[2] = document.myform.elements['H'].value; //รับค่า H จาก php
lyr[3] = document.myform.elements['M'].value; //รับค่า M จาก php
lyr[4] = document.myform.elements['S'].value; //รับค่า S จาก php
if(lyr[1]==1)
{
if(lyr[0]==1)
{
A = lyr[2]*3600 + lyr[3]*60 + lyr[4]*1
var vela=setInterval("decrease_num()",1000);
setTimeout("clearInterval("+vela+")",(A+1)*1000);
}
</script>
<div id="show">area</div>
ปัญหาคือ ค่า A ผมอยากให้เกิดจากการรับค่าจาก php แต่ค่าที่รับมาอยู่ในฟังก์ชั่น begin ซึ่งเมื่อเราเรียก ไปที่ฟังก์ชั่น decrease_num() แล้ว ค่า A ของผมไม่ลด แต่เมื่อผมลองประกาศค่า ตัวแปร A ไว้นอก ฟังก์ชั้น เช่น A=60; โปรแกรมก็จะทำงานปรกติ (แต่ผมอยากได้ค่าที่เกิดจาการรับค่าครับ)
รบกวนถามว่ามีการส่งค่าข้ามฟังก์ชั่นได้ไหมครับ หรือถ้าไม่ได้แล้วพอจะมีวิธีอะไรมั้งครับ คือที่ผมทำจะเป็นการรับค่า เวลา จาก php ชั่วโมง นาที วินาที แล้วนำมาบวกกัน แล้วก็นำมานับถอยหลังครับ
2.ข้อผิดพลาดน่าจะอยู่ที่ A = lyr[2]*3600 + lyr[3]*60 + lyr[4]*1 เนื่องจาก lyr[] น่าจะเก็บ string ไว้ เนื่องจากรับค่ามาจาก element ทางที่ดี ควร แปลงเป้น ตัวเลขก่อน ด้วย parseFloat() ครับ