# I like using the codecs opening in a with
field_names = ['latitude', 'longitude', 'date', 'user', 'text']
with codecs.open(filename,"ab", encoding='utf-8') as logfile:
logger = csv.DictWriter(logfile, fieldnames=field_names)
logger.writeheader()
# some more code stuff
for video in aList:
video_result = {}
video_result['date'] = video['snippet']['publishedAt']
video_result['user'] = video['id']
video_result['text']=video['snippet'] ['description'].encode('utf8')
logger.writerow(video_result)
Плагин формы jQuery предлагает простой способ выполнить итерации по Вашим элементам формы и поместить их в строку запроса. Это могло бы также быть полезно для того, что необходимо сделать с этими значениями.
var queryString = $('#myFormId').formSerialize();
От http://malsup.com/jquery/form
Или использование прямого jQuery:
var queryString = $('#myFormId').serialize();
В прямом JavaScript Вы могли сделать что-то подобное следующему:
var kvpairs = [];
var form = // get the form somehow
for ( var i = 0; i < form.elements.length; i++ ) {
var e = form.elements[i];
kvpairs.push(encodeURIComponent(e.name) + "=" + encodeURIComponent(e.value));
}
var queryString = kvpairs.join("&");
Короче говоря, это создает список пар "ключ-значение" (name=value), который тогда объединен с помощью "&"; как разделитель.
Спасибо Chris. Это - то, что я искал. Однако обратите внимание, что метод, сериализируют (). И существует другой метод serializeArray (), который выглядит очень полезным, который я могу использовать. Спасибо за указание на меня в правильном направлении.
var queryString = $('#frmAdvancedSearch').serialize();
alert(queryString);
var fieldValuePairs = $('#frmAdvancedSearch').serializeArray();
$.each(fieldValuePairs, function(index, fieldValuePair) {
alert("Item " + index + " is [" + fieldValuePair.name + "," + fieldValuePair.value + "]");
});
Можно получить форму с помощью document.getElementById и возвратив элементы [] массив.
можно также получить каждое поле формы и получить ее значение с помощью функции document.getElementById и передав в идентификаторе поля.
Можно использовать этот простой цикл для получения всех имен элементов и их значений.
var params = '';
for( var i=0; i<document.FormName.elements.length; i++ )
{
var fieldName = document.FormName.elements[i].name;
var fieldValue = document.FormName.elements[i].value;
// use the fields, put them in a array, etc.
// or, add them to a key-value pair strings,
// as in regular POST
params += fieldName + '=' + fieldValue + '&';
}
// send the 'params' variable to web service, GET request, ...
В зависимости от типа входных типов Вы используете на своей форме, необходимо быть в состоянии захватить их использующий стандартные выражения jQuery.
Пример:
// change forms[0] to the form you're trying to collect elements from... or remove it, if you need all of them
var input_elements = $("input, textarea", document.forms[0]);
Выезд документация для выражений jQuery на их сайте для большего количества информации: http://docs.jquery.com/Core/jQuery#expressioncontext