Cześć wszystkim,
Jako, że jestem "nietechniczny" czyli bez szkoły/studiów technicznych i tuż po przebranżowieniu trochę się gubię w niektórych tematach i mam wrażenie, że brakuje mi po prostu fundamentalnej wiedzy. To mniej więcej tak jakby dziecku które nie potrafi chodzić kazano jeździć na rowerze :) to tak off topic. Do rzeczy.
Mój kod html:
<form method="post">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label asp-for="Name"></label>
<input asp-for="Name" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<button type="submit" class="btn btn-primary">Dodaj kategorię</button>
</div>
<div class="col-md-6">
@for (int i = 0; i < SubcategoriesData.Count(); i++)
{
<div id="container">
<div class="form-group row">
<input asp-for="Subcategories[i].Name" value="@SubcategoriesData[i].Name" />
<span asp-validation-for="Subcategories[i].Name" class="text-danger"></span>
</div>
</div>
}
<button class="btn btn-primary" id="addSubCategory">Dodaj podkategorię</button>
</div>
</div>
</form>
<script>
$(document).ready(function () {
var i = @SubcategoriesData.Count()-1;
$("#addSubCategory").click(function (e) {
e.preventDefault();
i++;
var name = '<div class="form-group row"><input name = "Subcategories[' + i + '].Name" type="text"/><button class="btn btn-danger" id="removeSubcategory">Usuń</button></div>';
$("#addSubCategory").before('<div id="container">' + name + '</div>');
});
$("#container").on('click', '#removeSubcategory', function (e) {
$(this).parent('div').remove();
});
});
</script>
Mam problem z przyciskiem usuwania, który pojawia się tuż przy inpucie. W momencie gdy chcę usunąć pole - zostaje wysyłane żądanie POST. Moje pytanie brzmi - dlaczego? Skoro przy dodawaniu nowych podkategorii jest ok i jquery dorzuca kolejne inputy? Czy to dlatego, że button znajduje się w <form>?