2

私は JsonForm を使用しています: https://github.com/joshfire/jsonform/wiki#wiki-getting-started

外部の .txt ファイルから、フォーム スキーマを $('form').Jsonfrom() にロードしようとしています。

ajaxを使用して.htmlファイルにロードし、javascript変数に入れ、クリックイベントで$('form').Jsonfrom()を呼び出すことでこれを試みます。

これが私のコードです:

<script>    
#Load in .txt to javascript variable using ajax    
var stringData = $.ajax({
                    url: "schema.txt",
                    async: false
                 }).responseText;

#check that file is loaded correctly .- have check this works.
#alert(stringData);

#on clicking of a piece of text in a <p> wrapper call jsonForm function.    
$(document).ready(function(){
  $("p").click(function(){
       $('form').jsonForm(stringData   )
  });
});    

</script>

私がfirebugで得ているエラーは次のとおりです。

「TypeError: this.formDesc.schema は定義されていません」

&私のスタックトレースはこれです:

http://tinypic.com/r/2uiybo4/5

私の問題は、.txt ファイルを ajax でロードする際に問題があると考えてください。

ただし、コメントすると: alert(stringData); . . . for のスキームは完全に表示されます。

そのように: http://tinypic.com/r/2ynl9qh/5

また、スキームに直接入れてみたので、スキームに問題はありません$('form').Jsonfrom("here")。正常に動作します。

4

1 に答える 1

0

これを解決することができました。

フォーム スキーマを html ドキュメントに取り込むには、ajax の代わりにテンプレート言語 (jinja2) を使用する必要がありました。そのため、json フォーム (jquery フォーム ビルダー) のカップルは、ページの読み込み時に完全な html ドキュメントで実行されます。

馬鹿な !

お役に立てれば 。

于 2013-07-15T11:06:32.043 に答える