Так что я застрял на этой проблеме в течение дня или около того, и я все еще не очень далеко. Я использую встроенный набор форм django, это позволяет отображать все предыдущие сохраненные формы, а затем одну дополнительную пустую форму. Я использую javascript (jQuery), чтобы скрыть все формы до тех пор, пока пользователь не нажмет кнопку «изменить» или «добавить новый» (тег p стилизован так, чтобы выглядеть как тег), а затем форма будет сдвинута, чтобы пользователь мог ее увидеть, а затем редактировать. ,
Проблема, с которой я сталкиваюсь, заключается в том, что форма недействительна в соответствии с моим регулярным выражением в forms.py. Форма не сохраняется, очевидно, но slideToggle закрывается. Если вы нажмете кнопку редактирования еще раз, она откроется с сообщениями об ошибках над полями, которые были введены неверно.
Что мне нужно, так это то, что если эти сообщения об ошибках присутствуют, я хочу, чтобы форма была открыта и показывала, какие поля необходимо исправить. Вот код перед отправкой формы:
<div>
<p class="show_edit_ops button black small">Add New »</p>
<p class="show_edit_ops button black small" style="display:none;">Nevermind «</p>
<div class="formWrapperClass">
<div class="fieldWrapper">
<div class="form_errors"></div>
<p class="field_label"><label for="id_location_set-0-street">Street</label>:</p>
<p class="form_field"><input type="text" name="location_set-0-street" id="id_location_set-0-street" /></p>
<p class="field_help_text">Enter your residence number and street</p>
</div>
<div class="fieldWrapper">
<div class="form_errors"></div>
<p class="field_label"><label for="id_location_set-0-street2">Street2</label>:</p>
<p class="form_field"><input type="text" name="location_set-0-street2" id="id_location_set-0-street2" /></p>
<p class="field_help_text">Enter your apartment number or P.O. box</p>
</div>
<div class="fieldWrapper">
<div class="form_errors"></div>
<p class="field_label"><label for="id_location_set-0-city">City</label>:</p>
<p class="form_field"><input type="text" name="location_set-0-city" id="id_location_set-0-city" /></p>
<p class="field_help_text">Enter your city</p>
</div>
И форма продолжается, но вы поняли идею. И это один из полей fieldWrapper после отправки с неправильным вводом:
<div class="fieldWrapper">
<div class="form_errors"><ul class="errorlist"><li>You must enter a street</li></ul></div>
<p class="field_label"><label for="id_location_set-0-street">Street</label>:</p>
<p class="form_field"><input type="text" name="location_set-0-street" id="id_location_set-0-street" /></p>
<p class="field_help_text">Enter your residence number and street</p>
</div>
Я перепробовал много вещей, чтобы проверить, существует ли список ошибок, и если да, то я могу стилизовать эту форму, чтобы она открывалась после неудачной отправки. Я пытался найти и детей довольно широко, но, возможно, неправильно, так:
if($(".form_errors").find($(".errorlist")) == true){
document.write("error!");
}
Но без удачи. Если я уберу == true, то получу 'error!' на каждой странице моего сайта. Я сбит с толку, поэтому любая помощь будет отличной. Все, что мне действительно нужно, это правильная проверка, чтобы увидеть, существует ли список ошибок, я уверен, что смогу принять его после этого.
Спасибо !!