javascript - TinyMCE 的 multipart/form-data、ajax 和 textarea 问题

标签 javascript ajax tinymce textarea multipartform-data

我正在使用 html/php/ajax/jquery,今天我指出了一个让我抓狂的小问题。

我有一个 html 表单:

<form method="POST" enctype="multipart/form-data" name="myForm" id="myForm" action="">
    <label class="form-label">Nome</label>
    <input name="nome" type="text" class="form-control"><br>
    <label class="form-label">Descrizione</label>
    <textarea name="descrizione" id="text-editor" placeholder="" class="form-control" rows="10"></textarea>
    <label class="form-label">Stato</label>
    <select name="stato" id="source" style="width:30%">
        <option value="1">Abilitato</option>
        <option value="0">Disabilitato</option>
    </select>
    <h4>Foto profilo</h4>
    <input type="hidden" name="MAX_FILE_SIZE" value="20400000" >  
    <input style="border:0px;" type="file" name="user_foto" id="file"> 
    <div class="form-actions">  
        <div class="pull-right">
            <button type="submit" class="btn btn-success btn-cons"><i class="icon-ok"></i>Inserisci</button>
            <button type="button" class="btn btn-white btn-cons" onclick="window.location.href='index.php'">Indietro</button></a>
        </div>
    </div>
</form>

我正在使用 JQuery+Ajax 脚本,它能够在不重新加载页面的情况下触发 php 脚本,并将表单的数据插入到我的数据库中的表中:

$(document).ready(function(){
    $('#myForm').on('submit',function(e) {
        var formData = new FormData(this);      
        $.ajax({
            url:'inserisciProfessionisti.php',
            data: formData,
            type:'POST',
            async: false,
            cache: false,
            contentType: false,
            processData: false,
            success:function(data){
                window.location = 'listaProfessionisti.php'
            },
            error:function(data){}
        });
        e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
    });
});

这是我的 php 代码:

<?php
session_start();
session_cache_limiter('nocache');
if(!isset($_SESSION['mail'])){
    header("location:login.php");
}
include("include/connect.php");
$conn=mysql_connect($HOST, $USER, $PASSWORD);
$db_ok=mysql_select_db($DB, $conn);
$nome=$_POST['nome'];
$descrizione = $_POST['descrizione'];
....
$comando="INSERT INTO professionisti('nome','descrizione',...)VALUES('$nome','$descrizione',...)";
$ris=mysql_query($comando, $conn) or die("Errore connessione database: " . mysql_error());
... 

除文本区域内容外,一切都像魅力一样。似乎 textarea 内容不会传递到我的 php 脚本。

最佳答案

问题已解决。 我添加了这个 onclick="tinyMCE.triggerSave(true,true);" 来提交 button 并且一切都很顺利。 我认为这应该是一个 tinyMCE 错误。

关于javascript - TinyMCE 的 multipart/form-data、ajax 和 textarea 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23306146/

相关文章:

javascript - 是否可以阻止 header ("location: url") 被发送到 AJAX?

javascript - 如何在 webpack 中填充 tinymce?

javascript - TinyMCE:寻找行数解决方案

javascript - 获取具有特定时间戳的今天日期

javascript - jquery .insertBefore() 导致文本丢失

javascript - 从选择中获取自定义属性

javascript - 如何根据从 <iron-ajax> 接收的数据创建重复元素?

带有 jquery-tinymce 图片上传插件的 Django

javascript - 如果我的字符串测试函数的输入为空,则返回 false

javascript - 如何根据下拉列表显示 id?