#php #jquery #html #fckeditor
#php #jquery #HTML #fckeditor
Вопрос:
У меня есть texteditor, и я хочу отправить его содержимое в php-файл с помощью jquery.
Мой индексный файл:
<!-- jquery core -->
<script src="js/jquery-1.4.1.min.js" type="text/javascript"></script>
<!-- FCK editor Starts -->
<script src="texteditor/nicEdit.js" type="text/javascript"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() {
new nicEditor({fullPanel : true}).panelInstance('area2');
});
</script>
<!-- FCK editor End -->
<script>
$(document).ready(function(){
$("form#submit").submit(function() {
// we want to store the values from the form input box, then send via ajax below
var area2 = $('#area2').attr('value');
var pageName = $('#pageName').attr('value');
$.ajax({
type: "POST",
url: "ajax.php",
data: "pageName=" pageName "amp; textarea=" area2,
success: function(){
$('form#submit').hide(function(){$('div.success').fadeIn();});
}
});
return false;
});
});
</script>
<div class="container">
<form id="submit" method="post">
<textarea id="area2" name="area2" class="di"><div id="responsecontainer"></div></textarea>
<input type="text" id="pageName" name="pageName" value="home" />
<button>Submit</button>
</form>
<div class="success" style="display: none;">Client has been added.</div>
</div>
Мой ajax.php файл является:
<?php
$pgName = $_POST['pageName'];
$content = $_POST['textarea'];
$content = str_replace('<div id="responsecontainer">','',$content);
$content = str_replace("</div>",'',$content);
$fp=fopen($pgName.'.html','w ');
fwrite($fp,$content);
fclose($fp);
?>
Он отлично работает для текстовой области и текстового поля, но не извлекает содержимое FCK texteditor.
Комментарии:
1. Я использовал переменную area2 = $(‘#submit’).find(‘.NicEdit-main’).text(); затем он просто публикует текст, а не стиль текста (жирный, цветной, фамильный и т. Д.)
2. Попробуйте
.html()
использовать .NicEdit-main или.val()
текстовую область (не сгенерированный iframe).
Ответ №1:
Попробуйте выполнить следующее:
var area2 = $('#submit .nicEdit-main').html();