Форма в угловом диалоге - получение данных формы после закрытия диалога - PullRequest
0 голосов
/ 20 ноября 2018

Я создал веб-страницу с Angularjs и Laravel.Это страница события.В моей админ-панели я могу управлять всеми событиями.

Overview

Когда я нажимаю «Bearbeiten», появляется новое окно.

Form Window

Внизу я могу добавлять / удалять различные аттракционы.Когда я отправляю форму, я хочу сохранить новые данные в базе данных, но я не знаю, как я могу получить данные из формулы.Я пробовал разные мысли, и да, я использовал Google.

Когда я нажимаю "Bearbeiten", будет выполнен следующий код:

<md-dialog-content style="padding: 20px;">
    <div layout-gt-sm="row">
        <md-input-container class="md-block"flex-gt-xs>
            <label>Name (Bsp: Schützenfest, Kirmes, Sommerdom)</label>
            <input value="{{ $data['event']->name }}" name="event_name">
        </md-input-container>
        <md-input-container class="md-block">
            <label>Stadt (Bsp: Hannover, München, Köln)</label>
            <input value="{{ $data['event']->city }}" name="event_city">
        </md-input-container>
    </div>
    <div layout-gt-sm="row">
        <md-input-container class="md-block" style="margin: 0" flex-gt-xs>
            <label>Straße</label>
            <input value="{{$data['event']->street }}" name="event_street">
        </md-input-container>
        <md-input-container class="md-block" style="margin: 0" flex-gt-xs>
            <label>Postleitzahl</label>
            <input value="{{ $data['event']->zip->id }}" name="event_zip">
        </md-input-container>
        <md-input-container class="md-block" style="margin: 0">
            <label>Webseite</label>
            <input value="{{ $data['event']->website }}" name="event_website">
        </md-input-container>
    </div>
    <div layout-gt-sm="row">
        <md-input-container class="md-block" style="margin: 0" flex-gt-xs>
            <label>Start (YYYY-MM-DD)</label>
            <input value="{{$data['event']->start }}" name="event_start">
        </md-input-container>
        <md-input-container class="md-block" style="margin: 0" flex-gt-xs>
            <label>Letzter Spieltag (YYYY-MM-DD)</label>
            <input value="{{$data['event']->end }}" name="event_end">
        </md-input-container>
    </div>
    <md-chips ng-model="mdDialogData[0]" name="event_attractions" readonly="false"
            md-removable="true" md-max-chips="100" placeholder="Attraktionen">
        <md-autocomplete
          md-selected-item="mdDialogData[1].selectedItem"
          md-search-text="mdDialogData[1].searchText"
          md-items="item in mdDialogData[1].querySearch(mdDialogData[1].searchText)"
          md-item-text="item"
          placeholder="Attraktion suchen">
          <span md-highlight-text="mdDialogData[1].searchText" style="width: 280px;">@{{ item }}</span>
        </md-autocomplete>
    <md-chip-template>
      <strong style="margin-right: 15px;">@{{$chip}}</strong>
    </md-chip-template>
  </md-chips>
</md-dialog-content>

<md-dialog-actions layout="row">
  <span flex></span>
  <md-button ng-click="answer([@{{ mdDialogData[0] }}, '1', '2'])">
   Änderungen speichern
  </md-button>
  <md-button ng-click="answer('useful')">
    Abbrechen
  </md-button>
</md-dialog-actions>

Я не очень хорошо сугловой.Может быть, здесь есть некоторые эксперты!

1 Ответ

0 голосов
/ 20 ноября 2018

Поскольку данные уже заполняются во всплывающем окне, я предполагаю, что вы правильно передали массив данных в функцию / модуль, ответственный за всплывающее окно.

Теперь все, что вам нужно, это обновитьмассив, содержащий переменные поля данных, которые вы изменяете.Вам нужно будет удалить данные, которые вы выбрали для удаления из массива, или продолжать добавлять, если вы добавляете новые значения.Затем вам нужно будет передать обновленный массив при нажатии на ABBRECHEN и обновить новые значения в БД.Данные, удаленные из массива, создадут пустые места в массиве, вы можете удалить их в Angular или Backend или просто пропустить логику, если определенный индекс равен нулю / не определен .

...