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

时间:2014-04-26 03:07:46

标签: 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内容的魅力。似乎textarea内容不会传递给我的php脚本。

1 个答案:

答案 0 :(得分:8)

问题解决了。 我添加此onclick="tinyMCE.triggerSave(true,true);"来提交button,一切都像魅力一样。 我认为它应该是一个微小的MCE错误。