#javascript #php #jquery #html
#javascript #php #jquery #HTML
Вопрос:
У меня есть скрипт захвата подписи, использующий JS и Jquery и HTML canvas.
Я обрабатываю подпись, преобразуя ее в ИЗОБРАЖЕНИЕ / PNG с помощью PNGURL. Что я хотел бы сделать, так это опубликовать результирующий результат PNGURL.. но у меня возникла проблема. Я не очень хорошо знаком с JS, но я работал над этим около двух дней. Как вы сможете видеть, у меня возникла проблема с публикацией hiddenDataURL. Страница публикуется, переходит на следующую страницу, но hiddenDataURL отображается пустым. Я протестировал JS с предупреждением, чтобы показать, что подпись правильно преобразуется в PNGURL, но она либо неправильно возвращается в скрытый элемент формы, либо неправильно публикуется в signatureaccepted.php страница должным образом. любая помощь приветствуется.
Вот мои две страницы.
JS на отдельной странице.
function signatureSave() {
var canvas = document.getElementById("newSignature"); // save canvas image as data url (png format by default)
var dataURL = canvas.toDataURL("image/png", 0.1);
document.getElementById("hiddenDataURL").value = dataURL;
document.getElementById("hiddenForm").submit();
};
и HTML-форма, которую я пытаюсь опубликовать.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="todataurl.js"></script>
<script src="signature.js"></script>
</head>
<body>
<div id="canvas">
<canvas class="roundCorners" id="newSignature" style="position: relative; margin: 0; padding: 0; border: 1px solid #c4caac;"></canvas>
</div>
<script>
signatureCapture();
</script>
<form id="hiddenForm" action="signatureaccepted.php" method="POST">
<input type="hidden" id="hiddenDataURL" />
</form>
<button type="button" onclick="signatureSave()">Sign Out</button>
<button type="button" onclick="signatureClear()">
Clear signature
</button>
</br>
Saved Image
</br>
<img id="saveSignature" alt="Saved image png" />
</body>
</html>
Комментарии:
1. посмотрите на свою консоль разработчика для js и отчетов об ошибках для php php.net/manual/en/function.error-reporting.php что — нибудь пришло для этого?
2. ничего ни в том, ни в другом: (
3. я пытаюсь увидеть, есть ли дыра в том, как она была отправлена
Ответ №1:
Вам нужно, чтобы у входных данных был атрибут name, чтобы он был отправлен вместе с формой отправки
<form id="hiddenForm" action="signatureaccepted.php" method="POST">
<input type="hidden" id="hiddenDataURL" name="hiddenDataURL"/>
</form>
это не обязательно должно совпадать с ID, но в данном случае это означает наименьшее количество изменений для вас
Комментарии:
1. Боже мой. Большое спасибо, ты мой герой. Если бы я не был лысым, я бы вырвал свои волосы. Не могу поверить, что это что-то настолько маленькое.
2.
Cant believe it something so small
вот что она сказала: p3. Дело в том, что буквально за последние пару дней мы обдумывали идею, связанную с отправкой рисованных изображений с мобильных устройств. В вашем первом вопросе об этом сегодня вы сэкономили мне много времени, изучая кодирование мыши / касания и т. Д., Так что это беспроигрышный вариант
4. Потрясающе. Рад, что мы смогли помочь друг другу!