2015-03-26 2 views
0

Я пытаюсь создать интерфейс для вставки, редактирования и удаления записей в базе данных MySQL, используя PHP и редактор TinyMCE для вставки расширенного текста.PHP: не удается заполнить текстовые области TinyMCE

Когда я пытаюсь заполнить поля в форме в разделе «редактировать», текстовые области TinyMCE не работают. Текстовые входы правильно заполнены данными базы данных, но текстовые области остаются пустыми.

Я уже пытался сбросить инициализацию TinyMCE (мне нужно отключить абзацы), но ничего не меняется.

Вот код моей страницы редактирования:

<html> 
<head> 
    <script type="text/javascript" src="tinymce/tinymce.min.js"></script> 
    <script type="text/javascript"> 
    tinymce.init({ 

    selector: "textarea", 
    forced_root_block : "", 
    force_br_newlines : true, 
    force_p_newlines : false 

}); 

//validator form js 
function validate_form(){ 
var x = document.getElementById('autore').value; 
var y = tinyMCE.get('titolo').getContent(); 

if(x == "" || x == null || y == "" || y == null){ 
alert("Inserisci autore e titolo"); 
return false; 
} 
} 
</script> 
</head> 
<body> 
<?php 

include ("connessione_mysql.php"); 

$rows_id=$_GET["rows_id"]; 

$sql="SELECT * FROM bibliografia WHERE ID='$rows_id'"; 
$results=mysql_query($sql, $connessione_mysql); 
$num_rows=mysql_num_rows($results); 

if ($num_rows==0) { 
    echo "Il database è vuoto"; 
} else { 
while ($rows=mysql_fetch_array($results)) { 
      $autore =$rows['autore']; 
      $titolo=$rows['titolo']; 
      $note=$rows['note']; 
      $editore=$rows['editore']; 
      $ID=$rows['ID']; 
     } 

echo "<form method='post' onsubmit='return validate_form()' action='script2_modifica_bibliografia.php' class='dark-matter'>"; 

echo "<label><span>Autore* :</span> <INPUT TYPE=\"TEXT\" NAME=\"autore\" id=\"autore\" VALUE=\"$autore\" SIZE=\"74\"></label>"; 
echo "<label><span>Titolo* :</span><div class=\"aggiusta\"><TEXTAREA NAME=\"titolo\" id=\"titolo\" VALUE=\"$titolo\" ROWS=\"10\" COLS=\"60\"></TEXTAREA></div></label><br>"; 
echo "<label><span>Note :</span><div class=\"aggiusta\"><TEXTAREA NAME=\"note\" VALUE=\"$note\" ROWS=\"10\" COLS=\"60\"></TEXTAREA></div></label><br>"; 
echo "<label><span>Editore :</span> <INPUT TYPE=\"TEXT\" NAME=\"editore\" VALUE=\"$editore\" SIZE=\"74\"></label>"; 

echo "<input type=\"hidden\" name=\"ID\" value=\"$ID\">"; 
echo "<label><span>&nbsp;</span><INPUT TYPE=\"SUBMIT\" VALUE=\"Modifica il record\" CLASS=\"SUBMIT\"></label>"; 
} 

echo "</FORM>"; 
mysql_close($connessione_mysql); 
?> 

</body> 
</html> 

ответ

0

В отличии от других элементов формы, то textarea элемент не использует value свойства. Вместо этого блок-элемент, так что вы бы использовать его как это: <textarea>My value goes here</textarea>

Примеры из кода: <textarea>$note</textarea> <textarea>$titolo</textarea> и т.д., и т.д.

Пожалуйста, обратитесь к этому документу MDN о textarea элемента для получения дополнительной информации : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea

Другой Важный примечание, please, don't use mysql_* functions in new code. Они больше не поддерживаются and are officially deprecated. См. red box? Узнайте о prepared statements вместо этого, и используйте PDO или MySQLi - this article поможет вам решить, какой. Если вы выберете PDO, here is a good tutorial.

+0

спасибо. Отлично работает. Мне пришлось учиться в руководстве по PHP-MySQL 2002 года, и это результат. И спасибо за ваши другие предложения. – Fefe

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