2015-05-04 2 views
0

Я работаю над этим целую вечность и не могу, чтобы жизнь меня понимала, что я делаю неправильно.JQuery не передается html в iframe

Итак, мой JQuery работает, я знаю это с помощью простого скрипта hide/show. Я не получаю ошибок, зарегистрированных в консоли, но я пытаюсь это сделать:

У меня есть страница, которая позволяет мне создать сообщение, которое я построил littl WYSIWYG-редактор, чтобы представить сообщение - он отлично работает и входит в пост в БД как HTML, и я могу просто ссылаться на это, и он показывает, как ожидалось. То, что я пытаюсь сделать, имеет страницу редактирования сообщений, где она выглядит примерно так же, но когда вы посещаете сообщение, она показывает заголовок сообщения и тело сообщения с тем же редактором WYSIWYG, но уже имеет там содержимое сообщения. Я надеюсь, что это имеет смысл, так вот мои файлы:

Создать почтовый файл:

<?php 

if(isset($_POST["submit"])){ 
$hostname='localhost'; 
$username='******'; 
$password='******'; 

try { 

$dbh = new PDO("mysql:host=$hostname;dbname=******",$username,$password); 

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line 

$sql = "INSERT INTO doc_list (doc_title, doc_content, doc_created) VALUES ('".$_POST["doc_title"]."','".$_POST["doc_content"]."', NOW())"; 


if ($dbh->query($sql)) { 
    header ('Location: ../docList.php'); 
} 
else{ 
} 

$dbh = null; 
} 
catch(PDOException $e) 
{ 
echo $e->getMessage(); 
} 

} 
?> 

<form action="actions/newDocAdd.php" method="post" id="rtf" name=""> 
    <input type="text" name="doc_title" id="doc_title" required="required" placeholder="Document Title"/><br /> 



    <button class="postEditBtn" type="button" onclick="bold()" title="Bold Text"><i class="fa fa-bold"></i></button> 
    <button class="postEditBtn" type="button" onclick="italic()" title="Italic Text"><i class="fa fa-italic"></i></button> 
    <button class="postEditBtn" type="button" onclick="underline()" title="Underline Text"><i class="fa fa-underline"></i></button> 
    <button class="postEditBtn" type="button" onclick="fontName()" title="Font Family"><i class="fa fa-font"></i></button> 
    <button class="postEditBtn" type="button" onclick="fontsize()" title="Font Size"><i class="fa fa-text-height"></i></button> 
    <button class="postEditBtn" type="button" onclick="fontcolor()" title="Font Colour"><i class="fa fa-eraser"></i></button> 
    <button class="postEditBtn" type="button" onclick="hiliteColor()" title="Highlight Text"><i class="fa fa-magic"></i></button> 
    <button class="postEditBtn" type="button" onclick="link()" title="Add/Edit Link"><i class="fa fa-link"></i></button> 
    <button class="postEditBtn" type="button" onclick="unlink()" title="Remove Link"><i class="fa fa-chain-broken"></i></button> 
    <button class="postEditBtn" type="button" onclick="justifyLeft()" title="Text align-left"><i class="fa fa-align-left"></i></button> 
    <button class="postEditBtn" type="button" onclick="justifyCenter()" title="Text align-center"><i class="fa fa-align-center"></i></button> 
    <button class="postEditBtn" type="button" onclick="justifyRight()" title="Text align-right"><i class="fa fa-align-right"></i></button> 

    <br><br> 

    <textarea name="doc_content" id="doc_content" placeholder="Document Content" style="display: none;"></textarea> 
    <iframe name="editor" id="editor" style="width:100%; height: auto;"></iframe> 

    <br><br> 
    <input onclick="formsubmit()" type="submit" value="Create Document" name="submit"/><br /> 
    <input type"myBtn" type="button" value="Create document" onClick="javascript:submit_form();" /> 


</form> 

выше работает нормально, это сообщение данных в базу данных из фрейма в HTML.

У меня есть страница редактирования, в которую я хочу войти, она уже показывает заголовок сообщения в поле ввода (что он делает) и имеет тело письма WYSWYG, чтобы иметь HTML из уже существующей базы данных так что я могу обновить его, если потребности быть:

у меня есть список поста, когда я нажимаю на посте он берет меня на страницу после редактирования для этого одно сообщения:

<?php include 'header.php'; ?> 

<?php require_once '../../db_con.php'; 

if(!empty($_GET['doc_id'])){ 
    $doc = intval($_GET['doc_id']); 
try{ 
    $results = $db->prepare('select * from doc_list where doc_id = ?'); 
    $results->bindParam(1, $doc); 
    $results->execute(); 

    } catch(Exception $e) { 
    echo $e->getMessage(); 
    die(); 
    } 

    $doc = $results->fetch(PDO::FETCH_ASSOC);  
    if($doc == FALSE){ 

     echo '<div class="container">'; 
     echo "<img src='../img/404.jpg' style='margin: 40px auto; display: block;' />"; 
     echo "<h1 style='margin: 40px auto; display: block; text-align: center;' />Oh Crumbs! You upset the bubba!</h1>"; 
     echo '<a href="userList.php" style="margin: 40px auto; display: block; text-align: center;">Get me outta here!</a>'; 
     echo'</div>'; 
     die(); 
    } 
} 

?> 

    <?php 
    if(isset($doc)){ 
    ?> 


<form action="actions/updateDoc.php" method="POST"> 

    <input type="hidden" value="<?php echo $doc['doc_id']; ?>" name="doc_id" /> 
    <input type="text" value="<?php echo $doc['doc_title']; ?>" name="doc_title" /> 
    <br /> 



    <button class="postEditBtn" type="button" onclick="bold()" title="Bold Text"><i class="fa fa-bold"></i></button> 
    <button class="postEditBtn" type="button" onclick="italic()" title="Italic Text"><i class="fa fa-italic"></i></button> 
    <button class="postEditBtn" type="button" onclick="underline()" title="Underline Text"><i class="fa fa-underline"></i></button> 
    <button class="postEditBtn" type="button" onclick="fontName()" title="Font Family"><i class="fa fa-font"></i></button> 
    <button class="postEditBtn" type="button" onclick="fontsize()" title="Font Size"><i class="fa fa-text-height"></i></button> 
    <button class="postEditBtn" type="button" onclick="fontcolor()" title="Font Colour"><i class="fa fa-eraser"></i></button> 
    <button class="postEditBtn" type="button" onclick="hiliteColor()" title="Highlight Text"><i class="fa fa-magic"></i></button> 
    <button class="postEditBtn" type="button" onclick="link()" title="Add/Edit Link"><i class="fa fa-link"></i></button> 
    <button class="postEditBtn" type="button" onclick="unlink()" title="Remove Link"><i class="fa fa-chain-broken"></i></button> 
    <button class="postEditBtn" type="button" onclick="justifyLeft()" title="Text align-left"><i class="fa fa-align-left"></i></button> 
    <button class="postEditBtn" type="button" onclick="justifyCenter()" title="Text align-center"><i class="fa fa-align-center"></i></button> 
    <button class="postEditBtn" type="button" onclick="justifyRight()" title="Text align-right"><i class="fa fa-align-right"></i></button> 

    <br><br> 

    <textarea name="doc_content" id="doc_content" placeholder="Document Content" style="display: none;"></textarea> 
    <iframe name="editor" id="editor" style="width:100%; height: auto;" ></iframe> 

    <div id="editor"></div> 




    <br><br> 
    <input onclick="formsubmit()" type="submit" value="Update Document" name="submit"/><br /> 

</div> 


<script> 
$(document).ready(function(){ 
    $("#editor").html("<?php echo $doc['doc_content']; ?>"); 
}) 
</script> 


    <?php 
    } 
    ?> 

Я надеюсь, что это имеет смысл до сих пор, поэтому то, что я думал, что могу сделать, просто вызовет идентификатор, как в поле ввода, чтобы показать информацию о базе данных, но поскольку это HTML, это не так, и если я гу, чтобы поместить его в IFRAME он пустой, вот отрывок формируют мой исходный код страницы, чтобы показать, что он звонит в информации, мне нужно, но не ставя его в IFRAME:

<textarea name="doc_content" id="doc_content" placeholder="Document Content" style="display: none;"></textarea> 
    <iframe name="editor" id="editor" style="width:100%; height: auto;" ></iframe> 

    <div id="editor"></div> 

<script> 
$(document).ready(function(){ 
    $("#editor").html("<div style="text-align: center;">dsffffsfsfsfsdf</div>"); 
}) 
</script> 

я попробовать и место это в div, чтобы видеть, но это также потерпело неудачу: может ли кто-нибудь бросить взгляд и увидеть мои недостатки?

+0

. Эй, это текстовое редактирование, это не я, это из моего редактора WYSIWYG, его источник страницы. – PhpDude

+2

. Вы не должны указывать несколько элементов одного и того же идентификатора, для чего предназначены классы. Дайте вашему div уникальный идентификатор, выберите этот идентификатор в вашем JavaScript-коде и посмотрите, помогает ли он. –

ответ

0

Так я понял, все это - я сделал некоторые простые JS

<script> 
var iframe = document.getElementById('editor'), 
    iframedoc = iframe.contentDocument || iframe.contentWindow.document; 

    iframedoc.body.innerHTML = '<?php echo $doc['doc_content']; ?> '; 

</script> 

Он нацелен на IFRAME по идентификатору, а затем позволяет мне отредактировать его тоже и сохраняет изменения, когда я возвращаюсь в

Смежные вопросы