【问题标题】:Form in Angular Dialog - Get form data after dialog closeAngular 对话框中的表单 - 对话框关闭后获取表单数据
【发布时间】:2018-11-21 01:35:17
【问题描述】:

我用 Angularjs 和 Laravel 创建了一个网页。这是一个活动页面。 在我的管理面板中,我可以管理所有事件。

当我点击“Bearbeiten”时,会出现一个新窗口。

在底部我可以添加/删除不同的景点。当我提交表单时,我想将新数据保存在数据库中,但我不知道如何从公式中获取数据。我尝试了不同的想法,是的,我使用了谷歌。

当我点击“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>

我不太擅长 Angular。也许这里有一些专家!

【问题讨论】:

标签: angularjs angularjs-material


【解决方案1】:

由于数据已经在弹出窗口中填充,我假设您已正确地将数据数组传递给负责弹出窗口的函数/模块。

现在,您只需更新包含您正在修改的可变数据字段的数组。您将需要删除您选择从数组中删除的数据,或者如果您要添加新值,请继续添加。然后,您需要在单击ABBRECHEN 时传递更新的数组,并且需要更新数据库中的新值。从数组中删除的数据将在数组中创建空白空间,您可以在 Angular 或 Backend 上将其删除,或者如果特定索引为空/未定义,则只需将逻辑跳过

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多