У меня есть 2 формы в одном шаблоне. Один добавляет теги страны в профиль текущего пользователя, другой добавляет теги интересов. Обе формы размещаются по одному и тому же URL-адресу. Оба поля тега фильтруются с помощью автозаполнения, поэтому оба поля имеют соответствующее содержимое. Ввод страны вернет список стран и т. Д.
Когда я выполняю поиск в поле Country Tag, я могу добавить тег страны. Потрясающий! Однако при попытке добавить интерес активируется spinner.gif, но в моей консоли сообщение возвращает 404 и, следовательно, не добавляет фактический тег интереса.
Шаблон. Другая форма такая же, просто замените идентификаторы: Country
на Interest
.
<form id="addCountryTagForm" class="add_tags_form" method="POST" action="/tag/add/">
{% csrf_token %}
<input id="country-tag-input" class="input-text inline required tag-select" name="tagname" type="hidden" />
<button class="btn addtag" type="submit" id="addCountryTag">
<span>Add</span>
</button>
</form>
ajax:
$('.add_tags_form').submit(function(e) {
var $this = $(this);
var $loader = $('<div class="tag-loader"><img src="/static/images/misc/spinner.gif" /></div>');
$this.append($loader);
e.preventDefault();
var action = $this.attr("action");
result = $.ajax({
url: action,
data: {
'csrfmiddlewaretoken':$('input[name^="csrfmiddlewaretoken"]').val(),
'tagname':$('input[name^="tagname"]').val()
},
type: "POST",
success: function(data) {
$('.tag-section').load('/account/tag-section/');
$('input[name^="tagname"]').val('');
$loader.remove();
},
error: function(jqXHR, textStatus, errorThrown) {
$loader.remove();
}
});
return false;
});
Я действительно не знаю, почему это не работает. То, что я пытаюсь достичь, недостижимо? Могут ли две формы, отправляемые на один и тот же URL-адрес, не работать в одном шаблоне? Если бы кто-нибудь мог предложить inisight, был бы очень признателен.