A-AA+then

สอบถามเกี่ยวกับการใช้ java script ครับ มีปัญหาเวลารันบน firefox

1,573
    สอบถามเรื่องการใช้ PHP กับเทคนิคการ Submit Form แบบไม่เปลี่ยนหน้าโดยใช้ Target ไปยัง Iframe 
     
    คือผมใช้กับ IE และ Chrome ก็รันได้ปกตินะครับ แต่พอรันกับ Firefox ใช้ Firebug 
     
    ดูมัน 
     
    error document.frmMain is undefined
     
    document.frmMain.action='add_quota_save.php'
     
    มันเป็นที่อะไรหรอครับ
    
    
    
    
         
    
         
    
         
    
        <script language="JavaScript">
    
         
    
         
    
         
    
        function fncAction1()
    
        {
    
        //alert("1111")
    
        frmMain.action="add_quota_save.php"
    
        frmMain.target="iframe_target"
    
        frmMain.submit();
    
        }
    
         
    
         
    
        function fncAction2()
    
        {
    
        frmMain.action="del_quota.php"
    
        frmMain.target="iframe_target"
    
        frmMain.submit();
    
        }
    
         
    
        function fncAction3()
    
        {
    
        frmMain.action="webpage3.php"
    
        frmMain.target="iframe_target"
    
        frmMain.submit();
    
        }
    
         
    
        </script>
    
         
    
        <script language="JavaScript">
    
        function addResult(result)
    
        {
    
        if(result==1)
    
        {
    
        document.getElementById("divResult").innerHTML = "<font color=green> ท่านได้ทำการเพิ่มโควตาการลาของพนักงานเรียบร้อยแล้ว  </font>  <br>";
    
        }
    
        else
    
        {
    
        document.getElementById("divResult").innerHTML = "<font color=red> Error!! Cannot add data </font> <br>";
    
        }
    
        }
    
        </script>
    
         
    
         
    
        <script language="JavaScript">
    
        function delResult(result)
    
        {
    
        if(result==1)
    
        {
    
        document.getElementById("divResult").innerHTML = "<font color=red> ท่านได้ทำการรีเซทการลาของพนักงานเรียบร้อยแล้ว  </font>  <br>";
    
        }
    
        else
    
        {
    
        document.getElementById("divResult").innerHTML = "<font color=red> Error!! Cannot delete data </font> <br>";
    
        }
    
        }
    
        </script>
    
         
    
        <form name="frmMain" method="post">
    
        <iframe id="iframe_target" name="iframe_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
    
        <center><div id="divResult"></div></center>
    
         
    
         
    
         
    
         
    
        <?php
    
        require_once("connect.php");
    
        require_once('calendar/classes/tc_calendar.php');
    
        ?>
    
         
    
        <h2>ให้สิทธิ์การลาพนักงาน</h2><br><br>
    
         
    
         
    
         
    
        การลาป่วยใน1ปีงบประมาณแบ่งออกเป็น 2 ช่วง<br>
    
        ตัวอย่าง<br>
    
        รอบที่&nbsp;  1ตุลาคม&nbsp;&nbsp;2552 - มีนาคม 2553 ลาป่วยได้จำนวน 10 ครั้ง 23 วัน <br>
    
        รอบที่&nbsp;  2 เมษายน 2553 - กันยายน  2553 ลาป่วยได้จำนวน 10 ครั้ง 23 วัน   &nbsp;&nbsp;&nbsp;กดปุ่ม UPDATE เพื่อให้สิทธิ์พนักงานทุกคน &nbsp;&nbsp;<input name="btnButton1" id="btnButton1" type="button" value="UPDATE" OnClick="fncAction1();"><br>
    
        คิดการลาป่วย/ลากิจทั้งปีห้ามเกิน 20 ครั้ง 45 วัน ลากิจและการป่วยรวมกัน
    
        กดปุ่ม UPDATE เพื่อให้สิทธิ์พนักงานทุกคน &nbsp;&nbsp;<input name="btnButton2" id="btnButton2" type="button" value="UPDATE" OnClick="fncAction3();"><br>
    
        ทำการรีเซทการลาของพนักงานทั้งหมด  &nbsp;&nbsp;<input name="btnButton3" id="btnButton3" type="button" value="RESET" OnClick="fncAction2();">
    
         
    
         
    
         
    
         
    
         
    
         
    
         
    
        </form>

5 ความคิดเห็น

แนะนำให้ใช้ document.froms แทนนะครับ เช่น

document.forms[0].action = 'xxx.php';

โดยที่ 0 คือ index ของฟอร์ม ซึ่งก็ต้องหาละครับว่าฟอร์มที่ใช้เป็นตัวที่เท่าไร
1

อ้างจากคำตอบที่ #1แนะนำให้ใช้ document.froms แทนนะครับ เช่น

document.forms[0].action = 'xxx.php';

โดยที่ 0 คือ index ของฟอร์ม ซึ่งก็ต้องหาละครับว่าฟอร์มที่ใช้เป็นตัวที่เท่าไร


แล้วเราจะหาฟอร์มว่าเป็นตัวที่เท่าไหร่ยังไงอะครับ
2

ฟอร์มที่พบตัวแรกในโค้ด HTML คือ 0 ครับ ตัวถัดมาก็นับเอาละกัน

ปล. ลองศึกษา GAjax ดูครับ ใช้ง่ายกว่ากันเยอะเลย
3

พอจะมีตัวอย่างแบบที่ผมกำลังทำอยู่ไหมอะครับ รบกวนด้วยครับ
4

อ้างจากคำตอบที่ #4พอจะมีตัวอย่างแบบที่ผมกำลังทำอยู่ไหมอะครับ รบกวนด้วยครับ

ลองหาบนเว็บดูครับ หาเรื่อง GAjax หรือ GForm
5
^