2013-04-27 1 views
0

uck - продолжайте получать синтаксическую ошибку - что случилось ??? - это было в моей консоли js: var full_name = curry + "," + stefan; if ((! = None) & & (! = "") & & (! = "None")) { full_name + = "" +; } add_html + = "full_name";ошибка синтаксиса javascript, если инструкция AND

Ошибка Uncaught SyntaxError: Неожиданный маркер =

В основном я пытаюсь увидеть, если есть отчества или имя, которое пользователь вводится и добавить его в 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 App Engine

ответ

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, который захочет на своей странице.

Возможно, вы должны проверить это на сервере, а не пытаться сделать это в клиентском коде. Затем вы можете передать значения, которые, как вы знаете, безопасны в ваш шаблон.

+0

+1 для предупреждения впрыска JavaScript. – michaelb958

Смежные вопросы