@maxsharun

Что не так с моим JS кодом вывода формы?

Только начал изучать JS. Требуется в цикле вывести записи с формой их редактирования.
Сделал так:
function getsettings() {
		
		$.ajax({
			url: '/api/settings',
			method: 'get',
			dataType: 'json',
			success: function(data){
				$('#settings').empty();
				var settings = '';
				data.forEach(function(el){
					settings = settings +'<tr><form class="updatesetting" ><input type="hidden" name="setting_id" value="'+ el.id +'"/><td><input type="text" name="setting" class="form-control" value="'+ el.setting +'"></td><td><input type="text" name="value" class="form-control" value="'+ el.value +'"></td>' + '<td><textarea type="text" name="description" class="form-control">'+ el.description +'</textarea></td><td><input type="submit" class="btn btn-default" value="Обновить"></td></form></tr>';

				});
				
				$('#settings').html(settings);
			}
		});
		
	}


В итоге выводит вот так:
<tr>
<form class="updatesetting"></form>
<input type="hidden" name="setting_id" value="1">
<td><input type="text" name="setting" class="form-control" value="PostingFromSadovod_id"></td>
<td><input type="text" name="value" class="form-control" value="7132598"></td>
<td><textarea type="text" name="description" class="form-control">ID VK приложения. Используется для экспорта коллекция на стены</textarea></td>
<td><input type="submit" class="btn btn-default" value="Обновить"></td>
</tr>


Т.е. форму закрывает сразу, соответственно, функции обновления не работают. Подскажите, пожалуйста, решение. Я могу свою задачу и по- другому решить, настроить вывод и способы редактирования. Но не могу понять, что конкретно здесь не так.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
Robur
@Robur
Знаю больше чем это необходимо
Форма не может начинаться "между" tr и td и заканчиваться после . как и input. Браузер пытается сделать из той мешанины что вы ему передали хоть что-то валидное.
или поместите её внутрь td, и делайте там еще одну таблицу или сделайте чтобы вся таблица была внутри формы, еще как-то меняйте верстку
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
28 мая 2024, в 08:33
500000 руб./за проект
28 мая 2024, в 07:56
1500 руб./в час
28 мая 2024, в 06:55
400 руб./в час