简体   繁体   English

使用TinyMCE的multipart / form-data,ajax和textarea问题

[英]Issue with multipart/form-data, ajax and textarea with TinyMCE

I'm working with html/php/ajax/jquery and today I pointed out a little issue that is driving me crazy. 我正在使用html / php / ajax / jquery,今天我指出了一个让我发疯的小问题。

I've got an html form: 我有一个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>

I'm working with a JQuery+Ajax script that is able to fire a php script without reloading page, and insert form's data into a table in my database: 我正在使用一个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"===
    });
});

Here my php code: 这是我的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());
... 

Everything works like a charm apart textarea content. 一切都像textarea内容的魅力。 It seems that textarea content wouldn't be passed to my php script. 似乎textarea内容不会传递给我的PHP脚本。

Issue solved. 问题解决了。 I add this onclick="tinyMCE.triggerSave(true,true);" 我添加这个onclick="tinyMCE.triggerSave(true,true);" to submit button and everything works like a charm. 提交button ,一切都像魅力。 I think It should be a tinyMCE bug. 我认为它应该是一个微小的MCE错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM