我有一個簡單的形式:當我提交它沒有javascript/jquery,它工作正常,我只有一個插入我的數據庫,一切工作正常。Form submited兩次(jQuery與jQuery)
我寫了一些jquery,在輸入按鈕上方顯示ajax,如果發生錯誤,顯示紅色消息,如果插入成功,顯示爲綠色。我還展示了一個小型的gif裝載機。
我不明白爲什麼當我使用這個jquery時,兩個加載器同時出現,兩個插入在我的數據庫中完成。
我重申,當我評論的JavaScript,它工作正常,我完全相信我的PHP是好的。
$('#addCtg').submit(function() {
var action = $(this).attr('action');
var name = $('#name').val() ;
$('.messages').slideUp('800', function() {
$('#addCtg input[type="submit"]').hide().after('<img src="spin.gif" class="loader">');
$.post(action, {
name: name
}, function (data) {
$('.messages').html(data);
$('.messages').slideDown('slow');
$('.loader').fadeOut();
$('#addCtg input[type="submit"]').fadeIn();
});
});
return false;
});
我真的不明白爲什麼這是行不通的,因爲我用的是「返回false」來
基本的PHP只是改變的情況下,提交按鈕的基本行爲:
<?php
require_once('Category.class.php');
if (isset($_POST['name'])) {
$name = $_POST['name'] ;
if ($name == "") {
echo '<div class="error">You have to find a name for your category !</div>' ;
exit();
} else {
Category::addCategory($name) ;
echo '<div class="succes">Succes :) !</div>' ;
exit();
}
} else {
echo '<div class="error">An error has occur: name not set !</div>';
exit();
}
而且finnaly我在PHP中在數據庫中添加功能,基本的東西
public static function addCategory($name) {
$request = myPDO::getInstance()->prepare(<<<SQL
INSERT INTO category (idCtg, name)
VALUES (NULL, :name)
SQL
);
$r = $request->execute(array(':name' => $name));
if ($r) {
return true ;
} else {
return false ;
}
}
我很少過問尋求幫助,但這一次我真的卡住了,先謝謝你
而且你敢打賭,男人,謝謝你的外眼睛,那是我的不好!我確實有第二種形式來添加文章,並且我正在使用完全相同的課程....感謝您的外部觀點! –