2012-02-03 145 views
2

我有一個小腳本,我從一個選擇下拉的值,通過jquery傳遞給php腳本,然後返回基於該值的輸出,並顯示在沒有刷新的同一頁面。當我使用下面的代碼時,它只是重新加載頁面。請有人幫忙。jquery表單提交將不起作用

非常感謝

<form name="offerForm" id="offerForm" method="post"> 
<select id="product_dropdown"> 
     <option value="Sony">Sony</option> 
     </select> 
<input type="image" src="GO.png" alt="" width="30" height="30"/> 
</form> 

<div id="show"></div> 



$(function() { 
     $("#offerForm").submit(function() { 
     alert("validate and process form here !"); 
     $.post('offers.php', $("#offerForm").serialize(), function(data) { 
        $('#show').html(data); 
       }); 
     }); 
}); 

回答

2
$(function() { 
     $("#offerForm").submit(function() { 
     alert("validate and process form here !"); 
     $.post('offers.php', $("#offerForm").serialize(), function(data) { 
        $('#show').html(data); 
     }); 
     return false; //You should add return false to prevent the form submit. 
     }); 
}); 
+0

Doh!謝謝大家! – user1038814 2012-02-03 14:56:35

+0

@ user1038814很高興提供幫助。 – xdazz 2012-02-03 14:57:06

2

添加return false;

$(function() { 
    $("#offerForm").submit(function() { 
     alert("validate and process form here !"); 
     $.post('offers.php', $("#offerForm").serialize(), function(data) { 
       $('#show').html(data); 

      }); 
     return false; 
    }); 
}); 
1

你缺少返回FALSE;在你的提交處理程序。因此您的瀏覽器無法自行提交表單。試試這個:

$(function() { 
    $("#offerForm").submit(function() { 
     alert("validate and process form here !"); 
     $.post('offers.php', $("#offerForm").serialize(), function(data) { 
       $('#show').html(data); 
     }); 
     return false; 
    }); 
});