2011-03-04 22 views
1

我有一個問題發佈數據使用jQuery的問題。這個功能似乎很麻煩。jQuery發佈功能不一致(丟棄數據)

即/有時我會形式發佈,數據將得到保存,而在其他時間,但不會存儲在所有...

這裏的JS:

function createEntry(){ 

    item_title = $('#item_title').val(); 
    item_description = $('#item_description').val(); 
    item_category = $('#item_category').val(); 

    $('#status').html("<img src='images/ajax-loader.gif' border=0> Adding Entry").show(); 

    $.post("crud.php",{postvar:1, action:'createEntry', item_title:item_title, item_description:item_description, item_category:item_category}, function(html) { 
     $("#status").empty();  
     $("#status").append(html).fadeOut(2000); 
     getAddedEntry(); 

    }); 

    $('#entry_textbox').clear(); 

} 

這裏的PHP:

if ($_POST['action'] == 'createEntry') { 

    $title = mysql_real_escape_string($_POST['item_title']); 
    $description = mysql_real_escape_string($_POST['item_description']); 
    $category = mysql_real_escape_string($_POST['item_category']); 

    $entry = "INSERT INTO items (title, description, category) VALUES ('$title','$description','$category')"; 

    if (!mysql_query($entry,$conn)){ 
     die('Error: ' . mysql_error()); 
    } 

    else { 
     mysql_close($conn); 
     echo "Entry Added!"; 
    } 
+0

$(」#狀態」 ).append(html).fadeOut(2000);; 這是您的潛在問題! – benhowdle89 2011-03-04 10:34:45

+0

我已經刪除了額外的';' - 是你指的是什麼?它仍然沒有解決問題 – Simon 2011-03-04 10:43:25

+0

你有沒有得到一個解決方案? – 2011-04-12 18:45:20

回答

0

我想這取決於你在表單中的條目。它不能工作一次而不是下一次。也許,如果你把一個「它打破了jQuery後的數據或者其他轉義sybmols

你可以使用$("#your_form_id").serialize();只需添加postvar:1和行動:‘createEntry’作爲隱藏字段

+0

沒有我試着發佈完全相同的數據,它可能發佈一次,而不是下一個! – Simon 2011-03-04 10:58:49

+0

嗯,很奇怪,你是否使用Firefox和Firebug來跟蹤請求以及他們的反應? – 2011-03-04 11:01:01