[英]how to get form id from ajax and set it in click function in symfony2
我想將ID存儲在全局變量中,然后將該ID存儲以進行表單編輯,這是我的xml請求:
if($request->isXmlHttpRequest()) {
$response = new Response();
$output = array('success' => true, 'title' => $entity->gettitle(), 'id' => $entity->getId(), 'notes' => $entity->getnotes(), 'accountid' => $entity->getaccountid(), 'clientid' => $entity->getClientID(), 'status' => $entity->getstatus(), 'totalamount' => $entity->getTotalAmount(), 'paidamount' => $entity->getPaidAmount(), 'balanceamount' => $entity->getBalanceAmount(), 'createdby' => $entity->getcreatedby(), 'updatedby' => $entity->getupdatedby(), 'createddatetime' => $entity->getcreateddatetime(), 'updateddatetime' => $entity->getupdateddatetime());
$response->headers->set('Content-Type', 'application/json');
$response->setContent(json_encode($output));
return $response;
}
這是我的ajax代碼:
$("form").submit(function(e) {
e.preventDefault();
var url = $(this).attr('action');
var data = $(this).serialize();
$.ajax({
type: "POST",
url: url,
data: data,
}).done(function( result ) {
invoiceid=result.id;
if(result.success) {
$('#result').css({'color':'black','background-color':'#8F8','display':'Block','width':'200px'});
$('#result').html('Invoices Record Inserted');
setTimeout(function(){
$('#result').hide();
},3000);
}
});
this.reset();
});
$("#edit").click(function(){
window.location.href= "{{ path('invoices_edit', {'id': invoiceid }) }}";
});
這是包含id的myjson響應:
{"success":true,"title":"invoice","id":57,"notes":"gjgjgjgjg","accountid":1,"clientid":"5","status":"sent","totalamount":"90000","paidamount":"45000","balanceamount":"45000","createdby":1,"updatedby":1,"createddatetime":{"date":"2013-10-03 17:37:00","timezone_type":3,"timezone":"Asia\/Karachi"},"updateddatetime":{"date":"2013-10-03 17:37:00","timezone_type":3,"timezone":"Asia\/Karachi"}}
當我提醒invoiceid時,它會顯示result.id的值,但invoiceid不會傳遞給click函數,我該怎么做?
.done()
是回調。
您需要傳遞result.id或在完成的回調中調用$('#edit')。click()
<script type="text/javascript">
var invoiceId;
$(document).ready(function(){
$("form").submit(function(e) {
e.preventDefault();
var url = $(this).attr('action');
var data = $(this).serialize();
$.ajax({
type: "POST",
url: url,
data: data,
})
.success(function( result ) {
invoiceid=result.id;
//after setting you can call click like this
$('#edit').click(); // or use trigger()
if(result.success) {
$('#result').css({'color':'black',
'background-color':'#8F8','display':'Block','width':'200px'});
$('#result').html('Invoices Record Inserted');
setTimeout(function(){$('#result').hide();},3000);
}
});
this.reset();
});
$("#edit").click(function(){
= "{{ path('invoices_edit', {'id': invoiceid }) }}";
});
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.