我正在尝试制作一个非常简单的WYSIWYG文本编辑器。我允许的只是文字和图片。这些图像使用FileReader通过jquery附加到div中,并附加一个img元素,其源代码为该图像的base64。
我试图将其发布到数据库中。我应该怎么做到这一点?
我正在使用Laravel 4,并且表单已经发布完全正常(使用ajax)但仅在使用textarea输入时。当然,这不能包含任何图像,所以我已经切换了内容可编辑div。
标记如下:
{{ Form::open(array('url' => 'createpostaction', 'class' => 'newupdateform')) }}
<div contentEditable="true" id="newupdate-text" class="form-control-addupdate">
Add text and images...
</div>
{{ Form::submit('Post Update', array('class' => 'btn btn-primary submit-newupdate-btn')) }}
{{ Form::close() }}
这是textarea:
{{ Form::textarea('newupdate-text', Input::old('newupdate-text'), array(
'class' => 'form-control-addupdate',
'placeholder' => 'Add update here'
))
}}
如果我没有使用图像,那么我只需使用jQuery将文本放入文本区域,但我希望发布的数据包含文本和img标记。
然后我将在PHP中处理base64图像等。
这是可能的,或者我应该考虑另一种解决方案。
答案 0 :(得分:0)
可编辑的div不是主表单字段,因此不会出现在数组$ _POST上。尝试使用一些jQuery来获取div内容,例如$('#newupdate-text')。text();
$('.newupdateform').on('submit', function(e){
e.preventDefault();
$.ajax({
url: $(this).attr('action'),
data: {
formContent: $(this).serialize(),
divContent: $('#newupdate-text').text()
}
})
});