php – 当我使用jQuery AJAX在我的页面上提交tinyMCE表单时,实际提交到数据库需要两次点击

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 当我使用jQuery AJAX在我的页面上提交tinyMCE表单时,实际提交到数据库需要两次点击脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经尝试了一个多星期的不同选择,似乎没有任何工作.使这稍微复杂一点的是我在页面上有多个表单,所有表单都需要绑定到同一个提交函数.它们都有不同的ID.

以下是我的jquery的简化版本:

$('form').on('submIT',function(form){
    VAR data = $(this).serialize();
    $.ajax({
        tyPE:       'POST',cache:      false,url:        'inc/PRocess.PHP',data:       data,success:    function(){
                        // The following fires on First AND second submit
                        console.LOG("Updates have successfully been ajaxed");
        }
    });
    return false;
});

我也试过使用$(‘form’).submit()得到相同的结果.

process.PHP的相关部分:

$query =    'UPDATE     pop_contents
            SET     ';
$id = $_POST['content_id'];
/* to avoid including in MysqL query later */
unset($_POST['content_id']);

$length = count($_POST);
$count = 0;
foreach($_POST as $col => $value){
    $value = trim($value);
    $query .= $col."='".escapeString($value);
    // don't add comma after last value to update
    if(++$count != $length){ $query .= "',"; }
    // add space before WHERE clause
    else{ $query .= "'  "; }
}
$query .= 'WHERE        id='.$id;

$update_result = $MysqLi->query($query);
经过多次拔毛和咒骂后,我解决了这个问题.

TinyMCE编辑器实例不直接编辑textareas,所以为了提交表单,我需要先从TinyMCE API调用tinyMCE.triggerSave().因此,工作代码如下所示:

$('form').on('submit',function(form){
    // save TinyMCE instances before serialize
    tinyMCE.triggerSave();

    var data = $(this).serialize();
    $.ajax({
        type:       'POST',success:    function(){
                        console.log("Updates have successfully been ajaxed");
        }
    });
    return false;
});

脚本宝典总结

以上是脚本宝典为你收集整理的php – 当我使用jQuery AJAX在我的页面上提交tinyMCE表单时,实际提交到数据库需要两次点击全部内容,希望文章能够帮你解决php – 当我使用jQuery AJAX在我的页面上提交tinyMCE表单时,实际提交到数据库需要两次点击所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。