A-AA+then

แก้บัคให้ทีคับ Jqurey ajax php

973
<script type="text/javascript">

function doclick() {
  document.getElementById('submit').click();
};

$(document).ready(function()
{

$("#simple-post").click(function()
{
    $("#order-form").submit(function(e)
    {
        $("#simple-msg").html("<img src='loading.gif'/>");
        var postData = $(this).serializeArray();
        var formURL = $(this).attr("action");
        $.ajax(
        {
            url : formURL,
            type: "POST",
            data : postData,
            success:function(data, textStatus, jqXHR) 
            {
                $("#simple-msg").html('<pre><code class="prettyprint">'+data+'</code></pre>');

            },
            error: function(jqXHR, textStatus, errorThrown) 
            {
                $("#simple-msg").html('<pre><code class="prettyprint">AJAX Request Failed<br/> textStatus='+textStatus+', errorThrown='+errorThrown+'</code></pre>');
            }
        });
        e.preventDefault();    //STOP default action
    });
        
    $("#order-form").submit();//SUBMIT FORM
});

});

</script>
 

จาก Code ด้านบน Jqurey ajax เมื่อรับค่า POST ไปยังหน้า PHP เพื่อ Insert เข้าดาต้าเบส ข้อมูลถูกเพิ่มทีละ 2 Row หรือบางทีก็มากกว่านั้น มั่นใจว่า Insert PHP ไม่ผิดแน่นอน ขอความช่วยเหลือจากอาจารย์ทีครับ 

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

โชคร้ายที่ไม่ค่อยถนัด JQUERY แต่เดาจาโค้ดที่ให้มา น่าจะมีการ submit ถึงสองครั้ง

ครั้งแรกโดย JQuery (AJAX)
ครั้งที่สองโดย submit โดยฟอร์ม

ปกติแล้วต้องทำเพียงอย่างใดอย่างหนึ่งครับ ถ้าต้องการ submit ด้วย Ajax ก็ไม่ต้องมีปุม submit ใช้เพียง form แต่ไม่ต้องมีปุ่ม submit และ ไม่ต้องทำคำสั่ง submit ครับ

จริงๆแล้วสามารถตรวจสอบว่ามีการ submit 2 ครั้งจริงหรือไม่ด้วย firebug+firefox ครับ
1

ขอบคุณครับอาจารย์ ผมแก้ปัญหากำปั้นทุบดินโดยการตัด Onclick ออกไปก่อน แล้วไปใช้ PHP ดักค่าว่างในหน้านั้นเอา โดยให้มัน Exit; ฮิๆ 
2
^