Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 03.05.2017, 15:18
Аспирант
Отправить личное сообщение для Scantraxx Посмотреть профиль Найти все сообщения от Scantraxx
 
Регистрация: 11.12.2016
Сообщений: 47

laimas,
у меня работала отправка формы, когда я делал так:

Html.EditorFor(model=>model.detail[0].details_name)
Html.EditorFor(model=>model.detail[0].details_value)


но Razor нельзя добавлять динамически
Ответить с цитированием
  #12 (permalink)  
Старый 03.05.2017, 15:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Я не знаю ASP .NET на таком уровне, чтобы оказывать какую либо существенную помощь кому либо. И к JS это не имеет отношения, нужно было размещать тему в другом разделе, вполне возможно что кто-то и занимается им серьезно.

Последний раз редактировалось laimas, 03.05.2017 в 15:25.
Ответить с цитированием
  #13 (permalink)  
Старый 03.05.2017, 15:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Scantraxx
у меня работала отправка формы, когда я делал так
Попробуйте так именовать поля характеристик:

<input class="copy-input" type="text" name="details_name[]" />
<input class="copy-input" type="text" name="details_value[]" />
Ответить с цитированием
  #14 (permalink)  
Старый 03.05.2017, 15:36
Аспирант
Отправить личное сообщение для Scantraxx Посмотреть профиль Найти все сообщения от Scantraxx
 
Регистрация: 11.12.2016
Сообщений: 47

Сообщение от laimas Посмотреть сообщение
Попробуйте так именовать поля характеристик:
не помогло я вот пробую просто без добавления новых полей отправить форму, а все равно null. Спасибо за внимание, буду копаться
Ответить с цитированием
  #15 (permalink)  
Старый 03.05.2017, 15:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Scantraxx
не помогло
Ожидаемо. На клиенте собственно фиолетово как поля дразнятся, в том же JS это просто набор элементов формы. А вот как получает их сервер, тут уже не все однозначно.

if (model.detail != null) {
foreach (var details in model.detail)

чем в данном случае является model.detail? Это должна быть коллекция элементов именно с именем details_name (при этом где details_value?).
Ответить с цитированием
  #16 (permalink)  
Старый 03.05.2017, 15:56
Аспирант
Отправить личное сообщение для Scantraxx Посмотреть профиль Найти все сообщения от Scantraxx
 
Регистрация: 11.12.2016
Сообщений: 47

laimas,
у меня есть общая модель для таблиц Товара, Характеристик и Изображения. model.detail это я так обращаюсь к модели details.
То есть мне на сервер приходит общая модель, содержащая в себе модель Товара(название, категория, бренд и т.д.), модель Характеристик(коллекция {название+значение}) и Изображение(хранится в двоичных данных). После того как эта модель пришла, я по очереди "вытягиваю" из нее эти три модели и добавляю в бд.

Последний раз редактировалось Scantraxx, 03.05.2017 в 16:00.
Ответить с цитированием
  #17 (permalink)  
Старый 03.05.2017, 15:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

И что возвращает модель? Проверить то это можно. Вы ведь пытаетесь обойти объект model.detail циклом чтобы получить его элементы. Так что вы получаете?
Ответить с цитированием
  #18 (permalink)  
Старый 03.05.2017, 16:07
Аспирант
Отправить личное сообщение для Scantraxx Посмотреть профиль Найти все сообщения от Scantraxx
 
Регистрация: 11.12.2016
Сообщений: 47

laimas,
да можно, я прикреплял в каком-то посте скрин. Там null. part приходит нормально, image я не загружаю, а вот detail не хочет и все =/
Ответить с цитированием
  #19 (permalink)  
Старый 03.05.2017, 16:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Scantraxx
part приходит нормально
Я не о приходе говорю, а о объекте на клиенте и о коде отправки формы спрашивал, а не о об обработчике ее на сервере. Вы же об Ajax отправке речь вели, форма ваша асинхронно у вас отравляется?

Последний раз редактировалось laimas, 03.05.2017 в 16:19.
Ответить с цитированием
  #20 (permalink)  
Старый 03.05.2017, 16:21
Аспирант
Отправить личное сообщение для Scantraxx Посмотреть профиль Найти все сообщения от Scantraxx
 
Регистрация: 11.12.2016
Сообщений: 47

laimas,
пока без Ajax
<script>
    var $myForm=$("#myForm");

    $(".plus").off("click").on("click",function(){
        $(".details").append('<div class="details-part"><input class="details_name" type="text" /><input class="details_value" type="text" /></div>')
});

    $("#save-form").off("click").on("click",function(){
        var detailList=[];
        $myForm.find(".details-part").each(function(){
            detailList.push({
                details_value:$(this).find(".details_value").val(),
                details_name:$(this).find(".details_name").val()
            })
        });
        $myForm.find('[name="details"]').val(JSON.stringify(detailList))
        $myForm.submit()
    });
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое добавление форм dalexra51 Элементы интерфейса 1 12.06.2015 11:05
Удаление / добавление JSON Alexander Belov Events/DOM/Window 16 01.05.2015 23:51
Формирование json через for -=1100=- Библиотеки/Тулкиты/Фреймворки 2 15.05.2014 09:12
динамическое добавление и редактирование полей Jquery nikolaymac jQuery 12 09.09.2013 07:53
Добавление и удаление полей в форму anoth3r Events/DOM/Window 1 11.09.2009 15:10