0
好了,所以我试图将客户端表单保存到服务器。我正在使用boostrap modal来存储表单和下划线模板,以便从主干获得for。在表单被提交后,它的所有好的和好的表单都会进入后端并保存在数据库中。我遇到的问题是,在我保存客户端并想为另一个客户端输入新信息后,它会发送一个PUT方法,我通过使用“@ model.clear()”解决了这个问题。现在,每件事情仍然有效,但在控制台中出现“Uncaught ReferenceError:company is not defined”错误。我知道这是因为“.clear()”,但我不知道如何解决它。.clear()方法给未捕获的ReferenceError:公司没有定义
class Info.View.Client extends Backbone.View
el: '.saveClient'
events:
'click .save': 'saveClient'
'click .onClose': 'alertRemove'
initialize:()->
Backbone.Validation.bind(@,
{
valid: (view, attr)->
$('.company').removeClass('has-error')
$('.address').removeClass('has-error')
$('.city').removeClass('has-error')
$('.companyId').removeClass('has-error')
$('.email').removeClass('has-error')
invalid: (view, attr, error)->
if attr == 'company'
$('.company').addClass('has-error')
$('.txt').text('Nevivestai duomenys!')
$('.alert').removeClass('alert-success')
$('.alert').removeClass('alert-warning')
$('.alert').addClass('alert-danger').show()
if attr == 'city'
$('.city').addClass('has-error')
$('.txt').text('Nevivestai duomenys!')
$('.alert').removeClass('alert-success')
$('.alert').removeClass('alert-warning')
$('.alert').addClass('alert-danger').show()
if attr == 'address'
$('.address').addClass('has-error')
$('.txt').text('Nevivestai duomenys!')
$('.alert').removeClass('alert-success')
$('.alert').removeClass('alert-warning')
$('.alert').addClass('alert-danger').show()
if attr == 'companyId'
$('.companyId').addClass('has-error')
$('.txt').text('Nevivestai duomenys!')
$('.alert').removeClass('alert-success')
$('.alert').removeClass('alert-warning')
$('.alert').addClass('alert-danger').show()
if attr == 'email'
$('.email').addClass('has-error')
$('.txt').text('Blogas elektroninis pašto adresas!')
$('.alert').removeClass('alert-success')
$('.alert').removeClass('alert-warning')
$('.alert').addClass('alert-danger').show()
}
)
saveClient: ->
@model.save(
{
company : $('.company').val()
country : $('.country').val()
city : $('.city').val()
address : $('.address').val()
zipCode : $('.zipCode').val()
companyId : $('.companyId').val()
vat : $('.vat').val()
account : $('.account').val()
bank : $('.bank').val()
swift : $('.swift').val()
email : $('.email').val()
phone : $('.phone').val()
fax : $('.fax').val()
},
error: (model, response) =>
(@$ '.txt').text('Išsųsti nepavyko')
(@$ '.alert').removeClass('alert-danger')
(@$ '.alert').removeClass('alert-success')
(@$ '.alert').addClass('alert-warning')
success: (model, response) =>
if response.clientInfo == 0
(@$ '.txt').text('Sėkmingai išaugota!')
(@$ '.alert').removeClass('alert-danger')
(@$ '.alert').removeClass('alert-warning')
(@$ '.alert').addClass('alert-success').show()
@model.id = response.id
vent.trigger 'addNewClient', @model
$('.saveClient input').val ''
@model.clear()
else
(@$ '.txt').text('Išsaugoti nepavyko')
(@$ '.alert').removeClass('alert-success')
(@$ '.alert').removeClass('alert-warning')
(@$ '.alert').addClass('alert-danger').show()
)
这是模板
<tbody class="clientList">
<script type="text/template" id="Client-String">
<td><%- company %></td>
<td><%- companyId %></td>
<td><%- phone %></td>
<td><%- email %></td>
<td><button class="btn btn-default edit" data-toggle="modal" data-t arget="#editClient">{% trans %}Edit{% endtrans %}</button></td>
<td><button class="btn btn-danger remove">{% trans %}Remove{% endtrans %}</button></td>
</script>
</tbody>
和该模板
class Info.View.Clients extends Backbone.View
tagName: 'tr'
template: template('Client-String')
events:
'click .remove': 'destroy'
'click .edit': 'edit'
initialize:()->
@model.on 'change', @render, @
@render()
render: ->
@.$el.html @template @model.toJSON()
edit: ->
vent.trigger 'clientEdit', @model
destroy: ->
@model.destroy()
@remove()
remove: ->
@.$el.remove()
class Info.View.ClientList extends Backbone.View
el: '.clientList'
initialize:()->
model = new Info.Model.Client
new Info.View.Client model: model
vent.on 'addNewClient', @appendNewClient, @
vent.on 'clientEdit', @getClientInfo, @
@render()
render: ->
if @collection
@collection.each(@appendNewClient, @)
appendNewClient: (model)->
@.$el.append(new Info.View.Clients(model: model).el)
getClientInfo: (model)->
$('.editForm').html(new Info.View.Edit(model: model).el)
的
model
更换@model.clear()
都能跟得上它仍然给我“未捕获的ReferenceError:公司没有定义”虽然有趣的是它只是给它第一次保存后,如果我再次保存它,它不显示相同的错误 – Krokodilas我已经更新了我的答案。 –
是的,那么dosn't帮助cose现在它说:“未捕获的类型错误:无法设置属性'ID'未定义的女巫作为回报给我一个PUT方法,如果我尝试保存另一种形式立即 – Krokodilas