2011-01-24 14 views
0

JQueryを使用してデータベースからレコードを削除するページを呼び出そうとしています。ページ(part_supplierDelete.php)は手動でテストすると正しく動作します。 JS & JQueryは、ページへの呼び出しを除いてすべての作業に従います。 deletePartSupplier()メソッドが呼び出されると確認ダイアログがポップアップし、okをクリックすると正しいdivが削除されます。しかし、レコードは削除されていませんし、ページがまったく呼び出されていないようです。私が間違って何をしているのか?私はクロム、Firefox、およびIE 8JQuery Ajaxがページを呼び出していないが、他のすべてが動作している

function deletePartSupplier(part_supplier_id) 
{ 
    var answer = confirm("This action cannot be undone. Are you sure you want to remove this supplier from the part?"); 
    if(answer) 
    { 
     $.post("part_supplierDelete.php?part_supplier_id=".concat(part_supplier_id), removeElement("PSID".concat(part_supplier_id))); 
    } 
} 

function removeElement(divNum) { 
    var d = document.getElementById('PartSupplierGroup'); 
    var olddiv = document.getElementById(divNum); 
    d.removeChild(olddiv); 
} 

*

---------- EDIT ----------- でページです試してみましたそれが呼び出されている生のアクセスログに表示されます。しかし、それは必要なようにレコードを削除していません。私はアクセスログのリンクをたどることができますし、行が削除されているはずです。ここで

は、アクセスログです:

/v3/part_supplierDelete.php?part_supplier_id=18 
    Http Code: 200  Http Version: HTTP/1.1 Size in Bytes: 2 
    Referer: /v3/partEdit.php?part_id=5 
    Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10 
+0

あなたは 'removeElement()'にjQueryを使用していない理由は何ですか? – alex

答えて

1

は、これであなたの$ .postラインを交換してみてください:

$.post("part_supplierDelete.php?part_supplier_id=" + part_supplier_id, function() 
{ 
    removeElement("PSID" + part_supplier_id); 
}); 
+0

それはどんな助けもしませんでした。私は未処理のアクセスログをチェックし、そこにページが呼び出されていることを示していますが、削除されていません。私はアクセスログのリンクをたどり、削除されます。 –

0

あなたは$ .postのための2番目のパラメータとして削除すべきデータを送信する、の$ .postを解体し、代わりのGETとPOSTを送信してみました?

このドキュメントは、いくつかの例を示していますhttp://api.jquery.com/jQuery.post/

+0

はい、私はまだ同じ結果を得ています。 –

1

JavaScriptで文字列連結演算子ははるかに簡単で読みやすいです(愚か)+、ありますconcat()に電話するより。

+0

また、+と+ =演算子はstrign連結になると最も速いです。 –

+0

@Rodolfo Palmaしかし、 '['a'、 'b'、 'c']。join()'ほど高速ではありません。しかし、ほとんど役に立たない最適化、bla bla ... – alex

関連する問題