gpt4 book ai didi

javascript - 如何清除ember js中的表单数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:30 25 4
gpt4 key购买 nike

嗨,我是 ember js 的新手。我写了一个新员工入职表格,通过路由发送数据,数据保存成功。但是问题是提交表单后我的表单数据没有被清除。

代码如下:

应用程序.js:

App.Router.map(function() {
this.resource('saveprofile', { path: '/saveprofile/:profiledata'});
});

App.NewprofileController = Ember.ObjectController.extend({
id:'',
name: '',
designation: '',

saveProfileAction: function () {

profiledata = [{ "id": this.get("id")},
{"name": this.get("name")},
{"designation": this.get("designation")}]

pdata = $.ajax({
type: "POST",
dataType: "json",
url: "/saveprofile?profiledata=" +profiledata,
data: JSON.stringify(profiledata),
dataType: "json",
async: false}).done(function() {
$.bootstrapGrowl("Employee added successfully", {
type: 'success',
align: 'center',
width: '1000',
allow_dismiss: false
}).responseJSON
})
});

console.log(pdata)
}
});

App.SaveProfileRoute = Ember.Route.extend({
model: function(params) {
console.log(params);
return Ember.$.getJSON( "/saveprofile?profiledata=" + params.profiledata);
},
})

index.html:

     <script type="text/x-handlebars"  data-template-name="newprofile">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">New Profile</h3>
</div>
<div class="panel-body">
<form class="form-horizontal" role="form" id="form">
<br/><br/>
<div class="control-group">
<label class="control-label" for="value">Employee Id:</label>
<div class="controls">
{{input type="text" class="input-medium" value=id required="true"}}
</div>
</div>
<div class="control-group">
<label class="control-label" for="value">Employee Name:</label>
<div class="controls">
{{input type="text" class="input-medium" value=name}}
</div>
</div>
<div class="control-group">
<label class="control-label" for="value">Designation:</label>
<div class="controls">
{{input type="text" class="input-medium" value=designation}}
</div>
</div>
<div class="control-group pull-left">
<div class="controls">
<button type="button" class="btn btn-primary" {{action "saveProfileAction" }} id="button">Save</button>
<button type="button" class="btn btn-primary" {{action "cancel"}} id="button">Reset</button>
</div>
</div>
</form>
</div>
</div>
</script>

我在 stackoverflow 中搜索了这个,我找到了一些解决方案,但它们使用保存和退出功能。但我没有在 ember 中使用保存方法。我直接在服务器端保存。

我错了。给我一些建议,在提交表单后清除表单数据。

最佳答案

您必须像这样在 Controller 内部执行此操作:

var controller = this;

//After saving the form to the server:
...then(function(){
controller.set('YourFormData', '');
});

您的表单数据必须是在 Controller 中绑定(bind)的属性,例如您的 ID、姓名和名称。

关于javascript - 如何清除ember js中的表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23238860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com