2014-10-08 3 views
-3

Я использую JQuery Signare Pad здесь, с источником и демо: http://www.jqueryscript.net/mobile/Simpe-Mobile-Signature-Pad-with-jQuery-Html5-Canvas.htmlJQuery Mobile форма представления с подписью изображения

Сейчас все это делает показать изображение вашей подписи при нажатии кнопки сделать. Итак, теперь с изображением на странице, как я могу получить это, когда я отправлю свою форму.

Я вношу свою форму в PDF конвертер под названием MPDF используя модифицированную версию этого: http://mpdf1.com/manual/index.php?tid=373

То, что я хотел бы сейчас, чтобы получить от этого изображений на странице, чтобы быть изображением на PDF, так как когда вы нажимаете кнопку «Отправить», он не знает, как это сделать.

Я не самый опытный в PHP, поскольку я учусь, когда я иду, любая помощь будет принята с благодарностью.

Обновленный код, предоставляемый Thanasis Grammatopoulos

function fun_submit() { 
if(isSign) { 
    var canvas = $("#canvas").get(0); 
    var imgData = canvas.toDataURL(); 
    //Here the code change, do not display image, sent it to the server 
    $.ajax({ 
     type: "POST", 
     url: "script.php", 
     data: { 
      imgBase64: imgData 
     } 
    }).done(function(o){ 
     alert('Submited.'); 
    }); 

    closePopUp(); 
} else { 
    alert('Please sign'); 
} 

}

PHP:

<?php 
define('UPLOAD_DIR', 'up/'); 
$img = $_POST['imgData']; 
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace(' ', '+', $img); 
$data = base64_decode($img); 
$file = UPLOAD_DIR . uniqid() . '.png'; 
$success = file_put_contents($file, $data); 
?> 

Тем не менее только обеспечивает .png файл 0Kb на сервере ни с чем в нем. Куда я иду отсюда?

+1

Кажется, вы уже спрашивали об этом и получил ответ (http://stackoverflow.com/questions/26262319/jquery-mobile-signature- подушечка-хау к надстройке в форм-представления). Вы должны добавить более подробную информацию, вместо того, чтобы снова задать тот же вопрос и удалить предыдущий. – jeroen

+0

Разве я уже не ответил на этот вопрос пару часов назад? Что именно ты пытаешься сделать? У вас есть пример кода? – Brian

+0

@Brian Вы сделали, но вам понадобится гораздо больше rep, чтобы увидеть удаленный вопрос и ваш ответ :-) – jeroen

ответ

1

Вам просто нужно отправить изображение на сервер. Изменить код:

function fun_submit() { 
    if(isSign) { 
     var canvas = $("#canvas").get(0); 
     var imgData = canvas.toDataURL(); 
     //Here the code change, do not display image, sent it to the server 
     $.ajax({ 
      type: "POST", 
      url: "script.php", 
      data: { 
       imgBase64: imgData 
      } 
     }).done(function(o){ 
      alert('Submited.'); 
     }); 

     closePopUp(); 
    } else { 
     alert('Please sign'); 
    } 
} 

Больше информации здесь: How to save a HTML5 Canvas as Image on a server

+0

Что делать, если я хочу его отобразить, это будет контрактная форма. Я хочу, чтобы он отображался в форме, которая отправляется в PDF, используя http://mpdf1.com/manual/index.php?tid = 373 – Larry

+0

Итак, затем отобразите его в форме, а затем добавьте событие «onsubmit» в форму, чтобы вы могли публиковать все данные с помощью javascript. Или вы можете сделать скрытый ввод внутри формы и добавить imgData в качестве значения на скрытый ввод. – GramThanos

+0

Что такое «script.php» в этом сценарии. Я попытался сделать его скрытым, но я не понимаю, как связать его с представлением. Я пытаюсь сделать $ SignSig = $ _ POST ['my_hidden']; но он ничего не отображает. – Larry

Смежные вопросы