JQuery содержимое редактируемого div и текстовое поле при отправке - PullRequest
2 голосов
/ 15 февраля 2020

У меня есть веб-сайт, на котором вы можете редактировать и форматировать текст, а затем сохранить его на сервере. Я использую jquery для отправки данных на страницу PHP, где они будут сохранены. Мой сайт не будет отправлять имя файла и форматированный текст на PHP.

Вот мой html код:

<div id="editor" contenteditable="true">
    This is the editable text.
</div>

<input type="text" id="name" placeholder="File Name">
<input type="submit" id="save" value="Save">

<script>
    $(document).ready(function() {
        $("#save").on("click", function(event) {
            var formData = {text: $("#editor").html(), name: $("#name").val()};
            event.preventDefault();
            $.ajax({
                url: 'freewordsave.php',
                type:'POST',
                data: formData,
                success: function(msg)
                {
                    alert('Your file was saved!');
                }
            });
        });
    });
</script>

Здесь также мой PHP код:

$name = $_POST['name'];
$text = $_POST['data'];
$file = fopen("./location/" . $name . ".html", "w") or die("<script> alert('Error'); </script>");
fwrite($file, $text);
fclose($file);

Мой код даже не выдает предупреждение в javascript.

Спасибо.

1 Ответ

0 голосов
/ 15 февраля 2020

Я исправил свой код после того, как Симона Россаини оставила комментарий. Я забыл} закрывающую скобку в конце formData.

Исправлено JQuery Код.

$(document).ready(function() {
    $("#save").on("click", function(event) {
        var formData = {text: $("#editor").html(), name: $("#name").val()};
        event.preventDefault();
        $.ajax({
            url: 'freewordsave.php',
            type:'POST',
            data: formData,
            success: function(msg)
            {
                alert('Your file was saved!');
            }
        });
    });
});

Я знаю, что PHP сказал $_POST['data'], но я допустил ошибку когда я задал свой вопрос, в моем файле PHP это было совсем не так.

Спасибо

...