加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – CKEDITOR – 在Laravel 5中使用AJAX更新/创建产品失败

发布时间:2020-12-14 19:39:07 所属栏目:大数据 来源:网络整理
导读:我想使用 AJAX将用ckeditor textarea字段写的html内容存储在名为products的数据库表中. 成功插入和/或更新所有内容,留下产品说明. product_edit.blade.php {!! Form::open(['files' = 'true','autocomplete' = 'off','name' = 'formEditProductGeneralInfo',
我想使用 AJAX将用ckeditor textarea字段写的html内容存储在名为products的数据库表中.

成功插入和/或更新所有内容,留下产品说明.

product_edit.blade.php

{!! Form::open(['files' => 'true','autocomplete' => 'off','name' => 'formEditProductGeneralInfo','id' => 'formEditProductGeneralInfo']) !!}
    <div class="form-group">
        {!! Form::label('code','Code:') !!}
        {!! Form::text('code',$product->code,['class' => 'form-control input-sm']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('name','Name:') !!}
        {!! Form::text('name',$product->name,['class' => 'form-control input-sm']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('description','Product Description:') !!}
        {!! Form::textarea('description',$product->description,['class' => 'form-control input-sm ckeditor','rows' => 3,'id' => 'prdDescription']) !!}
    </div>

    <div class="form-group">
        {!! Form::label('price','Price:') !!}
        {!! Form::text('price',$product->price,['class' => 'form-control input-sm']) !!}
    </div>

    <div class="form-group">
       {!! Form::label('image_file','Image:') !!}
       {!! Form::file('image_file',['id' => 'image_file','class' => 'form-control input-sm']) !!}
    </div>

    <div class="form-group">
       {!! Form::submit( 'Update',['class' => 'btn btn-primary btn-block','id' => 'btnEditProductGeneral'] ) !!}
    </div>
{!! Form::close() !!}

阿贾克斯

$('form[name="formEditProductGeneralInfo"]').submit(function(e) {
    var inputData = new FormData($(this)[0]);

    var message = CKEDITOR.instances.prdDescription.getData();

    console.log(message);
    console.log(inputData);

    $.ajax({
        url: '{{ url(' / admin / products / update / general ',$product->id) }}',type: 'POST',data: inputData,async: true,success: function(m) {
            if (m.status === 'success') {
                toastr.success(m.msg,'Successs!');
            } else {
                toastr.error(m.msg,msg.status);
            }
        },error: function(data) {
            if (data.status === 422) {
                var errors = data.responseJSON;
                var errorsHtml = '<div class="alert alert-danger"><ul>';
                errorsHtml += '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>';
                $.each(errors,function(key,value) {
                    errorsHtml += '<li>' + value[0] + '</li>';
                });
                errorsHtml += '</ul></div>';
                $('.errors').html(errorsHtml);
            }
        },cache: false,contentType: false,processData: false
    });
    e.preventDefault();
    return false;
});

我怎么想在数据库中保存描述的html内容?

任何帮助都非常感谢.谢谢.

解决方法

我已经解决了.问题是我必须在for循环中检查CKEDITOR的实例,我没有检查过.所以我添加了for循环来检查实例,一切都运行正常.

ajax更新:

$('form[name="formEditProductGeneralInfo"]').submit(function(e) {
    for (instance in CKEDITOR.instances) {
        CKEDITOR.instances[instance].updateElement();
    }

    var inputData = new FormData($(this)[0]);

    $.ajax({
        url: '{{ url(' / admin / products / update / general ',processData: false
    });
    e.preventDefault();
    return false;
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读