0

uck - 構文エラーが発生し続けます - 何が問題なのですか?? - これは私の js コンソールにありました: var full_name =curry + ", " + stefan; if (( != なし) && (!="") && (!= "なし")) { full_name += " " + ; } add_html += "フルネーム";

エラーは Uncaught SyntaxError: Unexpected token != です。

基本的に、ユーザーが入力したミドルネームまたは名前があるかどうかを確認し、nfull_name に追加しようとしています。実際のテンプレート コードも次のとおりです。

{% for each in allteachers %}
    var full_name = {{each.instructor_lastname}} + ", " + {{each.instructor_firstname}};
    if (({{each.instructor_middlename}} != None) && ({{each.instructor_middlename}}!="") && ({{each.instructor_middlename}}!= "None")) {
                full_name += " " + {{each.instructor_middlename}};
    }
    add_html += "<option value='{{each.key()}}'>full_name</option>";

{% endfor %}

jinaja2 の使用 - Google アプリ エンジン

4

1 に答える 1

2

少なくとも、テンプレート変数を引用符で囲んでみてください。

{% for each in allteachers %}
    var full_name = "{{each.instructor_lastname}}" + ", " + "{{each.instructor_firstname}}";
    if (("{{each.instructor_middlename}}" != None) && ("{{each.instructor_middlename}}"!="") && ("{{each.instructor_middlename}}"!= "None")) {
            full_name += " " + "{{each.instructor_middlename}}";
    }
    add_html += "<option value='{{each.key()}}'>full_name</option>";
{% endfor %}

これにより、正しい軌道に乗っているかどうかがわかります。

ただし、基本的にユーザー入力をスクリプト コードに直接入れているため、注意が必要です。これは非常に危険な場合があります。フォームを送信できるユーザーは、ページに好きなように JavaScript を記述できます。

これは、クライアント コードで行うのではなく、サーバー上で検証する必要があります。次に、安全であることがわかっている値をテンプレートに戻すことができます。

于 2013-04-27T04:03:40.300 に答える