確實使用jQuery。這是進行AJAX調用的最簡單的方法......這是通過JavaScript完成的。所以,我想最好的答案是,你需要所有三個!
有一個PHP頁面接受POST參數,而不是提交與action="myFormResponder.php"
和method="post"
表單,留下完整無缺,並把這個在您的網頁上方(收盤</head>
標記之前):
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#myForm').submit(function(){
$.post("myFormResponder.php",$('#myForm').serialize(), function(data, textStatus, xhr){
// Do whatever you need here to update your page when the AJAX call finishes
});
return false; // Cancel default submit action
});
});
</script>
另請參閱:jQuery Documentation: $.post()。這將幫助您瞭解如何處理傳遞給回調的數據。
我已經基本上用自己的事件處理程序替換了onsubmit事件。如果你想在每次選擇控制變更的時間作出反應,而不是隻重視處理程序到change()
事件是這樣的:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// NOTE CHANGE IN NEXT TWO LINES
$('select').change(function(){
$.post("myFormResponder.php",{status: $(this).val()}, function(data, textStatus, xhr){
// Again, do what ya gotta do, if ya gotta do it
});
return false; // Cancel default submit action
});
});
</script>
將這項工作,如果我有很多形式在一個頁面? – 2010-07-15 08:51:42
jQuery非常靈活,您可以將頁面上的所有表單都視爲相同,或者根據ID處理特定的表單,如果您選擇,或者兩者兼而有之...如果您願意,我可以一對一地與您合作更詳細的,如果你給我發電子郵件的具體情況。我經常在gmail dot com上檢查aevins。我想你的問題的簡短答案是肯定的,它會起作用,但我們必須修改實際的JavaScript代碼以適合PHP腳本和DOM結構。 – virstulte 2010-07-15 10:00:05