#filemaker
#filemaker
Вопрос:
Я использую HTML-форму summernotes в решении FileMaker для написания электронных писем. первоначально у меня была кнопка сохранения для переноса uri html в поле, а затем отправки его по электронной почте с помощью клиентских скриптов. Однако пользователям (и мне …) не нравится нажимать «сохранить», а затем «отправить».
Мне интересно, есть ли у кого-нибудь идеи о том, как это автоматизировать. Однако я попытался установить функцию сохранения на повторение в 1 секунду, что останавливает ввод текста и удаляет курсор. Я думаю либо каким-то образом извлечь данные через json, либо, в идеале, каким-то образом я могу запросить их с помощью моего скрипта отправки FileMaker?
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTML Editor</title>
<!-- include libraries(jQuery, bootstrap) -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<!-- include summernote css/js -->
<script src="https://cdn.jsdelivr.net/npm/summernote@0.8.16/dist/summernote.min.js"></script>
<!-- <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet">
<link href="http://cdnjs.cloudflare.com/ajax/libs/summernote/0.8.11/summernote.css" rel="stylesheet"> -->
<link href="https://cdn.jsdelivr.net/npm/summernote@0.8.16/dist/summernote.min.css" rel="stylesheet">
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<script>
var intervalID;
function autoSave() {
intervalID = setInterval(saveText, 1000);
}
function saveText() {
//$('#summernote').summernote('code', 'code');
//window.alert('save changes');
/* Prep the URL to use for the hand-off to FM. */
var fullURL = '[[SAVEURL]]amp;param=' encodeURIComponent ($('#summernote').summernote('code'));
/* Send the data to FM. */
window.location = fullURL;
return false;
}
</script>
</head>
<body onload ="autoSave();">
<div id="summernote">[[CONTENT]]</div>
<script>
}
$(document).ready(function() {
$('#summernote').summernote({
height: 300,
tabsize: 2,
toolbar: [
// [groupName, [list of button]]
['style', ['style','bold', 'italic', 'underline', 'clear']],
//['font', ['strikethrough', 'superscript', 'subscript']],
//['fontsize', ['fontsize']],
['color', ['color']],
//['para', ['ul', 'ol', 'paragraph']],
//['height', ['height']],
['insert', ['link']],
//['insert', ['link','hr','table']],
//['misc',['codeview']],
['mybutton',['save']]
],
buttons: {save: SaveButton}
});
});
</script>
</body>
</html>
Ответ №1:
Вместо передачи закодированного HTML в качестве параметра в URL (amp;param=…), что приводит к перезагрузке страницы и, следовательно, к потере фокуса, попробуйте передать параметр в качестве привязки (#…).
Например, страница не будет перезагружаться, и фокус должен оставаться. Конечно, вам придется соответствующим образом настроить код чтения параметров.
В качестве альтернативы, если у вас есть FileMaker 19, вы можете использовать FileMaker.Выполните Script или FileMaker.Выполните функцию scriptwithoption для передачи значения непосредственно в скрипт.
Комментарии:
1. Спасибо за информацию. К сожалению, FMP17. Я полностью разбираюсь в html здесь и задаюсь вопросом, не могли бы вы дать мне какие-либо указания о том, где искать какое-либо чтение по этому вопросу?