私のウェブサイトには2つのフレームがあります。フレーム A にはナビゲーション バーが表示され、別のフレーム B にはメイン コンテンツが表示されます。
フレーム A は、コンピューター内のすべてのファイルの名前を表示できるディレクトリ リスト、jstree オブジェクトです。
フレーム A をクリックすると、フレーム B にファイルの内容が表示されます。同時に、フォルダーをクリックすると、フレーム A のフォルダーが拡張されます。つまり、フレーム A をクリックすると、2 つのイベントが発生します (フォルダーの場合は、フレーム A でフォルダーを展開し、フレーム B にフォルダーのパスのみを表示します)。
これで、フォルダーを展開できますが、フレーム A でファイルの名前をクリックしても、フレーム B にファイルの内容が表示されません。フレーム B にファイルの内容を表示したい場合はどうすればよいですか?
フレーム B のページは django フォームです。
class FileForm(forms.Form):
path = forms.CharField(max_length = 300, label = u"file path", help_text = u"file full path", error_messages = {"required" : ""})
text = forms.CharField(max_length = 300, widget = forms.Textarea, label = u"file text", help_text = u"file content", error_messages = {"required" : ""})
フレーム A でファイル名をクリックすると、このフォームを使用して html を生成できます。
def get_render_conf_text_info(request):
if request.method == "POST":
tmp_file_text = ""
tmp_file_path = ""
....
tmp_form = FileForm(initial = {'path' : tmp_file_path, 'text' : tmp_file_text})
return render_to_response('conf_nav_right2.html', {'form' : tmp_form}, context_instance=RequestContext(request))
else:
tmp_form = FileForm(initial = {'path' : '', 'text' : ''})
return render_to_response('conf_nav_right2.html', {'form' : tmp_form}, context_instance=RequestContext(request))
フレームAのhtmlコード(jstree.jsを使用):
<ul>
<li id="file_0_a1.cfg" class="0 jstree-close jstree-leaf" value="0" rel="file">
<ins class="jstree-icon"> </ins>
<a href="#" class="jstree-clicked" target="conf_nav_right">
<ins class="jstree-icon"> </ins>
a1.cfg
</a>
</li>
<li id="folder_1_remote" class="1 jstree-close jstree-leaf" value="0" rel="folder">
<ins class="jstree-icon"> </ins>
<a href="#" class="">
<ins class="jstree-icon"> </ins>
remote
</a>
</li>
</ul>
「conf_nav_right」はフレーム B の名前です。
どんな助けでも大歓迎です!