Показать сообщение отдельно
  #6 (permalink)  
Старый 22.02.2013, 22:35
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

чуточку дороботанный пример,
добавлен примитивный шаблонизатор.
поле tmpl в шаблоне указывает на id формы, откуда будет взято значение.

песочница

код/пример
<!DOCTYPE HTML>
<html>
  <head>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
 </head>

  <body>
    <table width="100%">
      <tr>
        <td width="30%"> 
          <form id="templator">
            <input value="Текст 1 " id="a"/></br>
            <input value="текст 2 " id="b"/></br>
            <button id="print"> печать </button>
          </form>
        </td>
        <td width="70%">    
          <iframe id="result" style="width:100%">           
           </iframe>
          
        </td>
      </tr>    
    </table>

    <script>
      $(function(){

        // образец шаблона      
        var tmpl=' поле1=<b tmpl="a"></b></br>'
                  +' поле2=<b tmpl="b"></b></br>';
        
        $("#print").click(function(){
          
          var el=$('#result').contents().find('body');
          
          //вставим шаблон в фрейм
          el.html(tmpl);
          
          //шаблон можно загрузить и с сервера
          //$('#result').contents().find('body').load('')
          
          
          //шаблонизатор
          $('#templator input').each(function(){            
              var i=el.find( "[tmpl^='" + $(this).attr('id') + "']");
              i.html( $(this).val() )                              
          })
                    
          // печать
          window.frames['result'].focus();
          window.frames['result'].print();
          
          // отменим действие по умолчанию
          return false;
        })
      })
    </script>

  </body>
</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.02.2013 в 22:53.
Ответить с цитированием