0
<script>

 //Handle the callback on success

 function stateChange(){

    if (xmlHttp.readyState==4 && xmlHttp.status==200) {

    //request is successful. So retrieve the values in the response
    var display_language = xmlHttp.responseText.split(';');
    alert("response: " + display_language);

    var newHtml = '{% for chunk in video.chunks.all %} {% for c in chunk.chunklets.all%} <tr> <td>{{c.start}}</td> <td> {% spaceless %} {%for item in c.contents.all%}{%if item.lang ==  display_language %}{{item.text.strip}}{%endif%}{%endfor%} {% endspaceless %} </td> <td>{{c.finish}}</td> </tr> {%endfor%} {%endfor%}';

    $('#xxx').html(newHtml);
    }
}
</script>

上記のコードを使用すると、display_language の値が null になります。ただし、alert は display_language の値を出力できます。display_language だけを newHtml に渡すことはできません。

に変更された場合

var newHtml = '{% for chunk in video.chunks.all %} {% for c in chunk.chunklets.all%} <tr> <td>{{c.start}}</td> <td> {% spaceless %} {%for item in c.contents.all%}{%if item.lang ==';

newHtml +=  display_language +'%}{{item.text.strip}}{%endif%}{%endfor%} {% endspaceless %} </td> <td>{{c.finish}}</td> </tr> {%endfor%} {%endfor%}';

エラーは、「無効なブロック タグ: 'endif'、予期される 'empty' または 'endfor' です。

4

1 に答える 1

0

Javascript と Django テンプレートを混在させようとしています。すべての Django が最初に実行され、次にすべての JavaScript が実行されることに注意してください。したがって、display_language値は Javascript で作成されるため、Django テンプレートでは使用できません。すべてのデータを Javascript に渡し、newHtml 値を純粋な JavaScript で作成することをお勧めします。

于 2012-11-13T04:55:48.173 に答える