使用ajax更新时无法从summernote获取价值

Posted

技术标签:

【中文标题】使用ajax更新时无法从summernote获取价值【英文标题】:Cannot get value from summernote ,when using ajax update 【发布时间】:2020-02-07 10:31:09 【问题描述】:

当我点击编辑按钮(我使用模式引导)时,所有值都存在,除了带有summernote的textarea。

如果你输入一些东西(在summernote中)并取消它,你的价值不会消失......它应该很清楚。

原谅我,我的英语太差了。

这是我的模态表单:

    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close" ><span aria-hidden="true">&times;</span></button>
                <h3 class="modal-title">Formulir Berita</h3>
            </div>
            <div class="modal-body form">
                <form action="#" id="form" class="form-horizontal">
                    <input type="hidden" value="" name="id_berita"/> 
                    <div class="form-body">
                     <div class="form-group">
                            <label class="control-label col-md-2">Tanggal penulisan</label>
                      <div class="col-md-9">
                     <div class="input-group">
                  <span class="input-group-addon">
                                <i class="fa fa-calendar"></i>
                                </span>
     <input name="tgl" placeholder="yyyy-mm-dd" class="form-control datepicker" type="text">
                                    <span class="help-block"></span>
                                </div>

                            </div>
                        </div>
                        <div class="form-group">
   <label class="control-label col-md-2">Judul</label>
                            <div class="col-md-9">
 <input name="judul" placeholder="Judul" class="form-control" type="text">
                                <span class="help-block"></span>
                            </div>
                        </div>
                        <div class="form-group">
     <label class="control-label col-md-2">Penulis</label>
                            <div class="col-md-9">
 <input name="penulis" placeholder="Penulis" class="form-control" type="text">
                                <span class="help-block"></span>
                            </div>
                        </div>
<div class="form-group" id="photo-preview">
               <label class="control-label col-md-2">Gambar</label>
                            <div class="col-md-4">
                                (Tidak ada gambar)

                            </div>
                        </div>
                        <div class="form-group">
<label class="control-label col-md-2" id="label-photo">Unggah Foto </label>

  <div class="col-md-7">
                                                    <div class="fileupload fileupload-new" data-provides="fileupload">
                                                        <div class="input-append">
                                                            <div class="uneditable-input">
                                                                <i class="fa fa-file fileupload-exists"></i>
                                                                <span class="fileupload-preview"></span>
                                                            </div>
                  <span class="btn btn-default btn-file">                                                                
                  <span class="fileupload-exists">Ganti Foto</span>

                  <span class="fileupload-new">Pilih File</span>
                                                                <input name="gambar" type="file" />
                                                        </span>
             <span class="help-block"></span>
                                                            <a href="#" class="btn btn-default fileupload-exists" data-dismiss="fileupload">Remove</a>
                                                        </div>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2">Isi</label>
 <div class="col-md-9">
<textarea name="isi" class="form-control" id="summernote" >
                            </textarea>
                        </div>
                    </div>
                </form>
            </div>
            <div class="modal-footer">
                <button type="button" id="btnSave" onclick="save()" class="btn btn-primary">Simpan</button>
                <button type="button" class="btn btn-danger" data-dismiss="modal">Batal</button>
            </div>
        </div>
    </div>
</div>

我一直在尝试一些代码:

$('#summernote').summernote('code');
$('#summernote').summernote('reset');// and for resetting modal while Add Data 

什么都没发生

我的 ajax 函数:

function edit_berita(id)

   save_method = 'update';
    $('#form')[0].reset(); // reset form on modals
    $('.form-group').removeClass('has-error'); // clear error class
    $('.help-block').empty(); // clear error string

    //Ajax Load data from ajax
    $.ajax(
        url : "<?php echo site_url('sistem/berita/ajax_edit/')?>/" + id,
        type: "GET",
        dataType: "JSON",
        success: function(data)
            // $('#summernote').summernote('code');
            $('[name="id_berita"]').val(data.id_berita);
            $('[name="tgl"]').datepicker('update',data.tgl);
            $('[name="judul"]').val(data.judul);
            $('[name="isi"]').val(data.isi);
            $('[name="penulis"]').val(data.penulis);

 $('#modal_form').modal('show'); // show bootstrap modal when complete loaded
            $('.modal-title').text('Edit data'); // Set title to Bootstrap modal title

            $('#photo-preview').show(); // show photo preview modal

            if(data.gambar)
            
                $('#label-photo').text(''); // label photo upload
$('#photo-preview div').html('<img src="'+base_url+'upload/berita/'+data.gambar+'" class="img-responsive" >'); // show photo
                $('#photo-preview div').append('<input type="checkbox" name="remove_photo" value="'+data.gambar+'"/> Remove photo when saving'); // remove photo

            
            else
            
                $('#label-photo').text(''); // label photo upload
                $('#photo-preview div').text('(Tidak ada gambar)');
                     
        ,
        error: function (jqXHR, textStatus, errorThrown)
        
            alert('Error get data from ajax');
        
    );


【问题讨论】:

【参考方案1】:

文本区域没有价值。 jQuery .html() 在这种情况下有效

$("textarea#summernote").html(data.isi);

【讨论】:

我一直在尝试将您的代码放入我的编辑功能中:但它不起作用感谢您的回答..【参考方案2】:

尝试像这样修改summernote行:

$('#summernote').summernote('code', data.isi);

并清除内容:

$('#summernote').summernote('code', '');

【讨论】:

【参考方案3】:

请试试这个:

$("textarea#summernote").val(data.isi);

【讨论】:

【参考方案4】:
$( '[name="isi"]' ).val(data.isi);
$( '[name="isi"]' ).summernote();

【讨论】:

以上是关于使用ajax更新时无法从summernote获取价值的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 ajax 从 Summernote 编辑器将数据发送到 php 文件?

如何使用 Ajax 将 Summernote 文本从 JSON 数据转换为纯文本?

summernote - 在 HTML 视图中更新代码

通过 Ajax 将 Summernote 代码发布到 PHP,然后插入数据库

如何使用jQuery在summernote编辑器中输入内容?

无法从mysql db为summernote vue html编辑器赋值