我有一个formbuilder组,我正在使用valueChanges监听更改并触发一个保存函数,然后在表单上刷新函数:
this.ticketForm.valueChanges.debounceTime(1000).distinctUntilChanged()
.subscribe(data => {
this.saveTicket();
this.refreshTicket();
})
Run Code Online (Sandbox Code Playgroud)
然后我重新加载表单并使用patchValue将数据重新分配到表单字段(以及页面上的其他位置,特别是更改日志),例如:
this.ticketForm.patchValue(ticket, { emitEvent: false });
Run Code Online (Sandbox Code Playgroud)
但是,尽管emitEvent:false,这会导致表单的无限循环保存.
这是一个Angular 4/Ionic 3错误还是我的误解?
typescript ionic-framework angular2-formbuilder angular angular-reactive-forms
我在第 1 页有一个表格:
<form method="post" action="request-form">
<input
type="text"
id="amzQry"
name="item"
placeholder="What do you need?"
autocomplete="on"
/>
<input
id="autocomplete"
name="destination"
placeholder="where? (e.g. Buenos Aires)"
onfocus="geolocate()"
type="text"
required=""
aria-required="true"
autocomplete="off"
/>
<button type="submit" value="">
Submit
</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我希望以持久的方式保存此信息,以便即使用户随后登录(在本例中为 joomla),cookie 数据也是持久的并且可以被调用。这就是为什么我在这种情况下使用 cookie 而不是会话。如果这不是正确的方法,请纠正我。
我有一些代码来设置和检索第 2 页上的 cookie:
<?php
$itemcookie = $_POST['item'];
$detsinationcookie = $_POST['destination'];
setcookie("itemcookie", $itemcookie, strtotime('+30 days'));
setcookie("destinationcookie", $detsinationcookie, strtotime('+30 days'));
?>
Run Code Online (Sandbox Code Playgroud)
但是,当表单提交后加载时,cookie 数据不会出现在第二页上。如果我刷新第二页,数据会出现在正确的位置,即我用例如调用它的位置
<?php
echo $_COOKIE["itemcookie"];
?>
Run Code Online (Sandbox Code Playgroud)
如何立即在第2页获取可用的cookie数据?
Yoothemes UIKit(http://getuikit.com)提供了一种使按钮组看起来像单选按钮一样工作的方法.请参阅此页面的大约一半:http://getuikit.com/docs/button.html
但是关于如何使按钮组实际上像表单中的单选按钮一样起作用的文档完全缺失.感谢有关这方面的建议.
目前,如果我在表单中使用它们,则单击任何按钮都会提交表单.iphone订购选项的示例表单:
<form>
<div class="uk-button-group uk-margin-bottom" data-uk-button-radio>
<button class="uk-button uk-button-large">16gb</button>
<button class="uk-button uk-button-large">32gb</button>
<button class="uk-button uk-button-large">64gb</button>
</div>
<div class="uk-button-group uk-margin-bottom" data-uk-button-radio>
<button class="uk-button uk-button-large">Space Gray</button>
<button class="uk-button uk-button-large">Gold</button>
<button class="uk-button uk-button-large">Silver</button>
</div>
<button type="submit" class="uk-button uk-button-large uk-button-primary"><i class="uk-icon-magnifier"></i> Review and Order</button>
</form>
Run Code Online (Sandbox Code Playgroud) 试图完成一个被旧路由器陷入困境的教程.我已更新代码以使用新路由器,但我无法理解routerLink.感谢您的帮助.
main.ts
import { bootstrap } from '@angular/platform-browser-dynamic';
import { AppComponent } from './app.component';
import {APP_ROUTER_PROVIDERS} from './app.routes';
bootstrap(AppComponent, [
APP_ROUTER_PROVIDERS,
])
.catch(err => console.error(err));
Run Code Online (Sandbox Code Playgroud)
app.component.ts
import { Component } from '@angular/core';
import { NavbarTopComponent} from './components/navbar-top/navbar-top.component';
import {ROUTER_DIRECTIVES} from '@angular/router';
import {AboutComponent} from './components/about/about.component';
import {SearchComponent} from './components/search/search.component';
@Component({
moduleId: module.id,
selector: 'my-app',
templateUrl: 'app.component.html',
directives: [ROUTER_DIRECTIVES,NavbarTopComponent,SearchComponent]
})
export class AppComponent { }
Run Code Online (Sandbox Code Playgroud)
app.routes.ts
import { provideRouter, RouterConfig } from '@angular/router';
import {AboutComponent} from './components/about/about.component';
import {SearchComponent} from './components/search/search.component'; …Run Code Online (Sandbox Code Playgroud) angular ×2
javascript ×2
cookies ×1
forms ×1
html ×1
jquery ×1
php ×1
typescript ×1
yoothemes ×1