搜索並瀏覽論壇,並嘗試了許多Ajax和表單提交的例子,但無法爲我想實現的目標獲得任何接近工作的東西。我必須承認,我一直在這個圈子裏呆了幾天,需要一個擁有一雙新鮮眼睛的人。Ajax表單提交,驗證並返回成功或失敗
我有2頁: page1.php中 使page2.php
使用谷歌的jQuery/1.9.0 /的jquery.js和本地開發這個。
是page1.php中如下(我省略了頭腳本和清晰度身體/ html標籤)
$(document).ready(function() {
$('#theForm').submit(function(){
$.ajax({
type: "POST",
url: "page2.php",
data: 'html',
success: function(html){
if(html == 'success'){
$('#address').fadeOut('slow');
$('#done').fadeIn('slow');
}else if(html == 'fail'){
alert('fail');
}
}
});
return false;
});
});
<div id="address">
<form action="page2.php" method="post" name="theForm">
<input name="checkname" type="text" id="checkname">
<input name="Proceed" type="submit" id="submit" value="Next Page" />
</form>
</div>
<div id="done">
That Worked!
</div>
使page2.php 擁有MySQL查詢,檢查數據庫的檢查名相呼應'成功'或'失敗'取決於結果。查詢運行良好,並沒有顯示任何錯誤。
當表單被提交時,page2.php加載並在瀏覽器中顯示'成功'。 Firebug也在響應和html下顯示成功。螢火蟲內沒有錯誤。
我基本上要到page1.php中留下了#address div來掩蓋和#done DIV成功時,從使page2.php
希望有人能幫助傳遞顯現。
更新 我想這個測試頁面:
ajaxone.php
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#theForm').submit(function(){
$.ajax({
type: "POST",
url: "ajaxtwo.php",
data: 'html',
success: function(html){
if(html == 'success'){
$('#address').fadeOut('slow');
$('#payment').fadeIn('slow');
alert('ok');
}else if(html == 'fail'){
alert('fail');
}
}
});
return false;
});
});
</script>
<style type="text/css">
#payment{
visibility:hidden;
}
</style>
<div id="address">
<form action="ajaxtwo.php" method="post" name="theForm" id="theForm">
<p>
<input name="name" type="text" id="name">
</p>
<p>
<input type="submit" name="submit" value="submit">
</p>
</form></div>
<div id="payment">Name is correct</div>
ajaxtwo.php
print_r($_POST);
if($_POST['name'] == 'rob'){
echo 'success';
}else{
echo 'fail';
}
使用上面的螢火蟲顯示以下錯誤:
陣列() 未定義指數:命名 失敗
然而,當我刪除AJAX調用提交作品和數據傳遞。 那麼,我是否正確地認爲,如果您沒有在ajax調用中指定表單變量,則什麼都不會發布到下一頁?
更新2 對不起,我在這裏回答我自己。 它似乎確實需要指定要在ajax調用中發送的表單數據。 我剛說:
$('#theForm').serialize();
Ajax調用內
現在的形式提交沒有錯誤。 但是,這仍然是ajaxtwo.php,並沒有顯示在ajaxone.php頁面上成功或失敗。 所以我的下一個階段是成功或未能在ajaxone.php上顯示
剛剛嘗試,但仍然沒有喜悅 - 謝謝你試圖幫助,雖然 – Rob777 2013-02-21 21:44:44