Малко помощ за JavaScript array

klk

Member
Вече деня е към края си и почнах да пиша глупости, та за това искам маалко помощ.
Правя една простотия тука която да генерира репорти в PDF но искам да става с JavaScript а не на сървъра. За целта си написах ето това:
Код:
var params = new Array();

params.length = 0;

params['file_name']   = $('#editStudentFirstName').val()+" " + $('#editStudentLastName').val();
params['header']      = 'Date: '+$('#modalDate').text()+', Time:' + $('#modalTime').text()+",\n"+'Price:'+$('#modalPrice').text()+' GBP';
params['locationCom'] = 'Location: '+$('#addStudentModalHeaderDescription').text();
params['title']       = 'Title: '+$('#editStudentTitle').val();
params['first_name']  = 'First name: '+$('#editStudentFirstName').val();
params['last_name']   = 'Last name: '+$('#editStudentLastName').val();
params['post_code']   = 'Post code: '+$('#editStudentPostCode').val();
params['address1']    = 'Address 1: '+$('#editStudentAdress1').val();
 params['address2']    = 'Address 2: '+$('#editStudentAdress2').val();
params['town']        = 'Town: '+$('#editStudentTown').val();
params['phone_number']= 'Phone number: '+$('#editStudentPhoneNumber').val();
params['mobile_phone']= 'Mobile number: '+$('#editStudentMobilePhoneNumber').val();
params['email']       = 'Email: '+$('#editStudentEmail').val();
$(document).on('click','#exportStudentToPDF',function() { exportOneStudentToPdf(params) } );
Всичко е ОК, и PDFите си те правят. По принцип, смятам , че правилно съм RESET вал масива, но когато тръгна да печатам PDFа (т.е. да го запиша като файл), се оказва, че предните стойности си стоят в масива .
Въпроса ми е: тъй ли се ресетваше масив в javascript.
 
От: Малко помощ за JavaScript array

Сложи цялото това нещо в клик функцията. ДАли няма да стане?

$(document).on('click','#exportStudentToPDF',function() {
params['file_name'] = $('#editStudentFirstName').val()+" " + $('#editStudentLastName').val();
params['header'] = 'Date: '+$('#modalDate').text()+', Time:' + $('#modalTime').text()+",\n"+'Price:'+$('#modalPrice').text()+' GBP';
params['locationCom'] = 'Location: '+$('#addStudentModalHeaderDescription').text();
params['title'] = 'Title: '+$('#editStudentTitle').val();
params['first_name'] = 'First name: '+$('#editStudentFirstName').val();
params['last_name'] = 'Last name: '+$('#editStudentLastName').val();
params['post_code'] = 'Post code: '+$('#editStudentPostCode').val();
params['address1'] = 'Address 1: '+$('#editStudentAdress1').val();
params['address2'] = 'Address 2: '+$('#editStudentAdress2').val();
params['town'] = 'Town: '+$('#editStudentTown').val();
params['phone_number']= 'Phone number: '+$('#editStudentPhoneNumber').val();
params['mobile_phone']= 'Mobile number: '+$('#editStudentMobilePhoneNumber').val();
params['email'] = 'Email: '+$('#editStudentEmail').val();
exportOneStudentToPdf(params):
params.length = 0;
} );
 
  • Like
Реакции: klk
От: Малко помощ за JavaScript array

Идеята като кликнеш, когато ти се експротне, като последна стъпка да се анулира масива. След това при всяко цъкане е празен и се пълни наново. :wink:
 
От: Малко помощ за JavaScript array

А можеш и да запишеш params под формата на обект в JSON формат. Изглежда по-добре:

var params = {
'file_name' : $('#editStudentFirstName').val()+" " + $('#editStudentLastName').val(),
'header' : 'Date: '+$('#modalDate').text()+', Time:' + $('#modalTime').text()+",\n"+'Price:'+$('#modalPri ce').text()+' GBP',
'locationCom' : 'Location: '+$('#addStudentModalHeaderDescription').text(),
'title' : 'Title: '+$('#editStudentTitle').val(),
'first_name' : 'First name: '+$('#editStudentFirstName').val(),
'last_name' : 'Last name: '+$('#editStudentLastName').val(),
'post_code' : 'Post code: '+$('#editStudentPostCode').val(),
'address1' : 'Address 1: '+$('#editStudentAdress1').val(),
'address2' : 'Address 2: '+$('#editStudentAdress2').val(),
'town' : 'Town: '+$('#editStudentTown').val(),
'phone_number' : 'Phone number: '+$('#editStudentPhoneNumber').val(),
'mobile_phone' : 'Mobile number: '+$('#editStudentMobilePhoneNumber').val(),
'email' : 'Email: '+$('#editStudentEmail').val()
};
console.log(params);
 
  • Like
Реакции: klk
От: Малко помощ за JavaScript array

Не лоша и тая идея. За такова нещо да го използват за това, нямаше да се сетя. Но всъщност идеята да сложа всичко в клик функцията би сработила по бързо просто защото наистина ще се случи при "click".
Но да се използва JSON за такова нещо наистина си е за мен малко нестандартно. Браво.
 

Горе