【发布时间】:2014-09-05 04:04:36
【问题描述】:
我正在使用 Backbone 提交表单。表单驻留在 html 页面(主页)中。提交表单时,我使用骨干模型的 .save() 方法将数据保存在数据库中。我使用 e.preventDefault(); 来防止提交并捕获值。
问题是提交后表单保持不变,这意味着输入字段填充了以前的值。如果我再次提交表单,那么以前的值会插入到数据库中。
如何使表单在提交后像第一个状态(空白)一样??
代码
HTML
<form method="post" id="my_form">
<input type="text" id="name" size="30" required autofocus/>
<input type="email" id="email " size="30" required/>
<input type=" text " id="catagory" size="30" required/>
<input type="submit" value="Submit"/>
</form>
骨干
var My_view = Backbone.View.extend(
{
el: $("body"),
events:
{
"submit #my_form": "save"
},
initialize: function()
{
_.bindAll(this,'save');
},
save: function(e)
{
e.preventDefault();
var name = $('#name').val();
var email = $('#email').val();
var catagory = $('#catagory').val();
var data = {
name : name,
email : email,
catagory : catagory
};
var my_model = new My_model();
my_model.save(data,
{
success: function(model,response)
{
alert(JSON.stringify(response));
},
error: function(model,response)
{
alert(JSON.stringify(response));
}
});
}
});
var my_view = new My_view({});
【问题讨论】:
-
请发布您的代码。
-
提交后你会继续显示同一个表单吗?
标签: javascript php jquery forms backbone.js