jQueryを使用してDjangoで動作するAJAXを取得しようとしています。問題は、私が変更しようとしている要素のIDが石で設定されていないということです。これはDjangoのテンプレート変数なので、テーブルの要素ごとに異なりますが、AJAXを使用してその要素を変更します。私は辞書をDjangoビューからsimplejson経由でJavaScriptに渡しています。関連するオブジェクトはIDとモデルです(実際の変数名ではなく、私がしようとしていることを明らかにしたかったのです)。いくつかの擬似コード(私はJavaScriptでこれを行う方法を知らないので、三行目は、Pythonのようなことを書きました):変数をjavascriptの要素idとして渡すことができます
var quantity_update = function(msg, elem) {
var response_obj = eval('(' + msg + ')');
var newtotal = document.getElementById("%s, %s"); % (response_obj.id, response_obj.model)
subtotal.innerHTML = "<td>"+response_obj.subtotal+"</td>";
は、この可能性のようなものであり、したがってどのようにしたら?
私はこのようなIDを取得する必要があります:var newtotal = document.getElementById(id);多分。ビューでエラーが発生した場合に辞書ではなく文字列を渡すので、evalを使用する – Christopher
はい、文字列と文字列リテラルを含む変数は完全に互換性があります。エラーについては、サーバーがHTTP応答コードでこれを通知するようにしてみてください。これはクライアント側で検出できるので、エラーがあったかどうかに応じて異なることができます。 – hugomg
これはまったく問題ではないと思います。私はjoin()と同様のことをして、同じ結果を得ました。これはnewtotal.innerHTMLでなければならないが、代わりに小計です(実際のコードでは正しい)という例がnullに戻ります。 – Christopher