Я собираю ссылки PUT/DELETE, a la Rails, которые при нажатии создают форму POST со скрытым вводом, обозначенным _method, который отправляет предполагаемый тип запроса. Я хочу сделать его DRYer, но мои знания jQuery не соответствуют этому.DRY jQuery для RESTful PUT/DELETE ссылки
HTML:
<a href="/articles/1" class="delete">Destroy Article 1</a>
<a href="/articles/1/publish" class="put">Publish Article 1</a>
JQuery:
$(document).ready(function() {
$('.delete').click(function() {
if(confirm('Are you sure?')) {
var f = document.createElement('form');
$(this).after($(f).attr({
method: 'post',
action: $(this).attr('href')
}).append('<input type="hidden" name="_method" value="DELETE" />'));
$(f).submit();
}
return false;
});
$('.put').click(function() {
var f = document.createElement('form');
$(this).after($(f).attr({
method: 'post',
action: $(this).attr('href')
}).append('<input type="hidden" name="_method" value="PUT" />'));
$(f).submit();
return false;
});
});
Хотя, вы ограничиваете возможность стилизовать его с другими классами. – Stobor
Согласовано со Стобор. Спасибо хоть. – Aupajo
Хорошо, поэтому я исправил его так, чтобы он работал с несколькими классами, поэтому его можно нормально использовать ... – Stobor