具有相同名称textarea的多个ckeditor

时间:2013-04-09 11:41:14

标签: php javascript html textarea ckeditor

我有一个通过php

循环创建的表单

就是这样的

<?php 

        $number = count($name_array);
        $id = 0;

        while($id<$number)
            {
                if($category[$id] == ewbp)
            {
            $ewbp = 'selected';
            }
                if($category[$id] == iwbp)
            {
            $iwbp = 'selected';
            }
                if($category[$id] == wbe)
            {
            $wbe = 'selected';
            }
                if($category[$id] == texture)
            {
            $texture = 'selected';
            }
                if($category[$id] == putties)
            {
            $putties = 'selected';
            }
                if($category[$id] == primer)
            {
            $primer = 'selected';
            }

        echo "
        <div class=\"update_form_holder\">
        <form action=\"processor/update.php\" enctype=\"multipart/form-data\" method=\"post\">
            <table>
                <tr>
                    <td>Name</td><td><textarea rows=\"1\" cols=\"30\" name=\"name\">"."$name_array[$id]"."</textarea></td>
                </tr>
                <tr>
                    <td>Small Description</td><td><textarea rows=\"2\" cols=\"60\" name=\"short_desription\">"."$short_description[$id] "."</textarea></td>
                </tr>
                <tr>
                    <td>Full Description</td><td><textarea rows=\"5\" cols=\"60\" name=\"long_description\">"."$long_description[$id]"."</textarea></td>
                </tr>
                <tr>
                    <td>Category</td>
                    <td>
                        <select name=\"category\">
                            <option value=\"ewbp\" ". "$ewbp" . ">Exterior Water Based Paints </option>
                            <option value=\"iwbp\" ". "$iwbp" . ">Interior Water Based Paints</option>
                            <option value=\"wbe\" ". "$wbe" . ">Water Based Enamel </option>
                            <option value=\"texture\" ". "$texture" . ">Textures</option>
                            <option value=\"putties\" ". "$putties" . ">Putties</option>
                            <option value=\"primer\" ". "$primer" . ">Premir</option>
                        </select>
                    </td>
                </tr>
                <tr>
                    <td><input type=\"hidden\" value=\""."$idi[$id]"."\" name=\"idi\"></td>
                </tr>
                <tr>
                    <td><input type=\"submit\" value=\"update\"></td>
                </tr>
            </table>
        </form>
        </div>
        <div class=\"image_holder\">
            <img src=\""."$imgurl[$id]"."\" />
        </div>
        <form action=\"processor/delete.php\" method=\"post\">
            <input type=\"hidden\" value=\"$idi[$id]\" name=\"delete_id\">
            <input type=\"hidden\" value=\"$filename[$id]\" name=\"delete_file\">
            <input type=\"submit\" value=\"delete entry\" >
        </form>
        ";
        $id++;
        $ewbp = '';
        $iwbp = '';
        $wbe = '';
        $texture = '';
        $putties = '';
        $primer = '';
        }
        ?>

并且我试图让textareas使用ckeditor,问题是,它需要不同的名称来创建新实例,但是我无法更改名称,因为数据被提交到另一个php文件以存储在sql数据库中。有没有办法让它创建更多的实例,而无需更改名称?我尝试使用ID,但它没有用。此外,link使我怀疑它是否可能。

1 个答案:

答案 0 :(得分:1)

由于您可以控制整个解决方案(php和html / javascript),最干净的解决方案是为每个文本区域选择一个不同的名称并更改您的PHP代码,以便在访问{时使用这些新名称{1}}数组。


更新:在有时间进行某些测试后,我无法重现此问题。我已经使用以下html进行测试 - 它按预期工作,这意味着两个ckeditor在渲染时可以单独提交:

$_POST

我使用过CKEditor 4.1版