понедельник, июня 22, 2009

Быстрый способ превратить форму в страницу для распечатки

Форма из нескольких десятков полей разных типов. Задача: превратить её в печатный вид, убраав все элементы ввода. При помощи jQuery:

function printview() {
// все чекнутые чекбоксы заменяем на Х
$("input[type='checkbox'][checked]").each(function() { $(this).replaceWith('X'); });

// все нечекнутые - на ---
$("input[type='checkbox']").each(function() { $(this).replaceWith('---'); });

// то же для радио
$("input[type='radio'][checked]").each(function() { $(this).replaceWith('X'); });
$("input[type='radio']").each(function() { $(this).replaceWith('---'); });

// все селекты - на текст выделенного пункта
$("select").each(function() { $(this).replaceWith($(this).find("option[selected]").text()); });

// все тексты - на их значения
$("input[type='text']").each(function() { $(this).replaceWith($(this).val()); });

// все текстэрии - на их текст, заменяя перенос на брейк. Функцию nl2br гуглим javascript nl2br
$("textarea").each(function() { $(this).replaceWith("<p>"+nl2br($(this).text())+"</p>"); });

// ненужную область прячем, и субмиты тоже
$("#attach").hide();
$("input[type='submit']").hide();
}

Комментариев нет:

Поиск по этому блогу