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