0

Web サイト内に同じコードを持つ 3 つの Web ページがあります。3 ページ中 2 ページで成功しています。ckeditor インスタンスは期待どおりに更新されます。

私は最終的に「問題が何であるか」を理解しましたが、それを修正する方法はまだわかりません。コードを1行だけ入力してdivをクリックすると(つまり、blurイベントが発生すると)、期待どおりに保存されるようです。ハードリターンを押して他のテキストを入力すると、ハードリターンの後にぼかしイベントは何も保存しません。このバージョンの CKEDITOR のバグのようです。前述したように、まったく同じコードのページが他に 2 つあり、すべて正常に動作します。

<?php 
session_start();
$thisPage = "services";
require('functions.php');
include('header.htm');
?>
<title>Services | Dr. Your Name</title>
<style type="text/javascript">
#cke_body {margin-left:120px;margin-top:30px;width:520px;background-color:gray;}
</style>
<script type="text/javascript">
CKEDITOR.config.filebrowserBrowseUrl= 'browser/browseAdminUploads.php';
CKEDITOR.config.extraPlugins = 'justify';
</script>
</head> 
<body> 
<div id="header" class="clear">
    <div id="headerContent">
        <?php include ("bannerIcons.php"); ?>
        <div id="logo">
            <a href="index.php"><img src="images/logo.png" title="home" alt=""/></a>
        </div> <!--end logo-->      
        <?php include('mainMenu.php');?>
    </div>
</div> <!--end header-->
<div id="container">    
    <div id="content" class="shadow"><div class="content">
    <div id="colLt"><div class="content">
        <?php
        connect();
        $sql = mysql_query("SELECT services FROM contentAreas") or die("nothing found");
        $row = mysql_fetch_assoc($sql);
        if ($_SESSION['username']=='admin'){
            echo "<div id='services' contenteditable='true' onblur='saveServices()'>";
        } else {
            echo "<div id='services'>";         
        }       
        echo $row['services'];
        echo "</div>";?>
        <script type="text/javascript">
            function saveServices() {
                var data = CKEDITOR.instances.services.getData();
                $.post('saveServices.php', {services:data})     
            }
        </script>
    </div></div>
    <?php include('saveServices.php');?>
    <div id="colRt"><div class="content">
        <div id="serviceBox" class="shadow"><div class="content">
            <p class="big italTxt">one or more testimonials could go here. Lorem ipsum dolor sit amet, mel cu atqui perfecto, nec te vero fugit denique, an vel mundi tritani concludaturque.<br><br>Laoreet erroribus eos no. Eu nec maluisset repudiandae. Possit lucilius constituam his cu, quas liber sea an, eum purto errem audire eu. In viris assentior vis, pri iudico dolorem electram ne, ea ius scripta virtute.</p>
        </div></div>
    </div></div><!--end colRt-->
    </div></div><!--end content-->  
<div id="footer">
    <?php include("footer.htm") ?>
</div><!--end footer-->
<div class="clear"></div>
</div><!--end container-->
<div class="clear"></div>
</body> 
</html> 

私のファイル saveServices.php は次のとおりです。

<?php
$services=$_POST['services'];
echo "hello<br>";
echo "services: ".$services;
include('functions.php');
connect();
$sql1 = mysql_query("UPDATE contentAreas SET services = '$services'") or die ("Your information has not been posted");
?>

ご協力いただきありがとうございます。

4

2 に答える 2

0

また、4.0.2 標準から 4.2.2 標準にアップグレードしました。

于 2013-10-31T12:04:27.010 に答える
0

信じられない、理解できないのですが、div名を「services」から「offers」に変更したらうまくいきました。サービスは予約語ですか?関数名 saveServices() が長すぎる可能性はありますか? なぜそうなったのか、具体的な説明を聞きたいです。

于 2013-10-31T01:17:09.867 に答える