我正在尝试使用serialize方法将不同的表单输入字段提交到数据库。我在我的文本区域上使用tinyMCE。经过研究之后,我现在可以将除textarea之外的所有字段提交到数据库。我不知道为什么它没有被序列化。我应该对代码执行什么操作才能将textarea内容输入数据库?我的代码如下所示

形成

<form id="myForm" method="post" action="myPage.php">
    <textarea class="tinymce" name="texteditor" id="texteditor"></textarea>

    <input type="checkbox"name="get_value[]" value="A">
    <input type="checkbox"name="get_value[]" value="B">
    <input type="checkbox"name="get_value[]" value="C">
    <input type="checkbox"name="get_value[]" value="D">

    <select name="category" class="form-control" required>
        <option>one</option>
        <option>two</option>
    </select>
    <input name="points" type="text" class="form-control" />

    <input name="random" type="radio" value="no" /> No <br>
    <input name="random" type="radio" value="yes" /> Yes

    <button id="sub" name="upload"><b>Submit</b></button>

</form>


Java脚本

$("#sub").click( function() {

    $.post( $("#myForm").attr("action"), $("#myForm").serialize(), function(info){ $("#result").html(info); } );
    clearInput();
    });

    $("#myForm").submit( function() {
    return false;
});

function clearInput() {
  $("#myForm").each( function() {
    $(this).val('');
  });
}


的PHP

if(!empty($_POST["get_value"])){
  foreach($_POST["get_value"] as $checkbox){
  }
$question = $_POST['texteditor'];
$random = $_POST['random'];
$category = $_POST['category'];
$points = $_POST['points'];

$insert_question = "insert into questions (question,checkbox,random,category,points) values ('$question','$checkbox','$random','$category','$points')";

$run_question = mysqli_query($con, $insert_question);
if($insert_question){
    echo "Question set successfully";
}
else {
    echo "failed";
}
}

else{
echo "<script>alert('Please select at least one option!')</script>";
}

最佳答案

在您的点击事件中,首先获取tinymice的值,然后分配给文本区域
您可以使用以下任何一种方法来获取小型鼠标编辑器的值/内容

    // Get the HTML contents of the currently active editor
  var content =   tinyMCE.activeEditor.getContent();

    // Get the raw contents of the currently active editor
  var content =     tinyMCE.activeEditor.getContent({format : 'raw'});

    // Get content of a specific editor:
  var content =     tinyMCE.get('content id').getContent()


然后通过jQuery将内容值分配给textarea,例如

$('textarea[name=textarea]').val(content);


然后执行序列化表格的过程,依此类推。

您也可以尝试自动保存Tinymice插件

08-06 05:15
查看更多