Avatar billede razmuz Nybegynder
27. januar 2006 - 14:47 Der er 5 kommentarer

Erfaring med RTE

Hejsa

Jeg laver en hjemmeside, hvor alle har en profil. Beskrivelsen kan redigeres med Kevin Roth's Crossbrowser Rich-Text-Editor.

Er der nogen der har erfaring med den eller kan hjælpe mig?

Den opfanger kun hvad man har ændret i formularen, hvis man trykker "View Source" først og dernæst trykker send!

/Rasmus
Avatar billede coderdk Praktikant
28. januar 2006 - 17:27 #1
Har du husket

onsubmit="return submitForm();"

I din form? Samt selvfølgelig javascriptfunktionen!
Avatar billede razmuz Nybegynder
29. januar 2006 - 11:57 #2
<script language="JavaScript" type="text/javascript" src="html2xhtml.js"></script>
<!-- To decrease bandwidth, use richtext_compressed.js instead of richtext.js //-->
<script language="JavaScript" type="text/javascript" src="richtext.js"></script>
<?
function rteSafe($strText) {
    //returns safe code for preloading in the RTE
    $tmpString = $strText;
   
    //convert all types of single quotes
    $tmpString = str_replace(chr(145), chr(39), $tmpString);
    $tmpString = str_replace(chr(146), chr(39), $tmpString);
    $tmpString = str_replace("'", "&#39;", $tmpString);
   
    //convert all types of double quotes
    $tmpString = str_replace(chr(147), chr(34), $tmpString);
    $tmpString = str_replace(chr(148), chr(34), $tmpString);
//    $tmpString = str_replace("\"", "\"", $tmpString);
   
    //replace carriage returns & line feeds
    $tmpString = str_replace(chr(10), " ", $tmpString);
    $tmpString = str_replace(chr(13), " ", $tmpString);
   
    return $tmpString;
}

?>

<i>Her kan du redigere din egen profil</i><br><br>
<?

if ($action == 'gem_profil') {
  $beskrivelse = $_POST["beskrivelse"];
  //gemmer i databasen
    include ("connect.php");
  $query = 'UPDATE LOW_PRIORITY IGNORE brugere'
          ." SET brugernavn='$brugernavn', navn='$navn', adresse='$adresse', email='$email', alias='$alias', telefon='$telefon', mobil='$mobil', beskrivelse='$beskrivelse'"
                ." WHERE id='$online_id'"
                .' LIMIT 1';
  $result = mysql_query($query) OR die ("Invalid query" .mysql_error());
   
  echo '<font color="red" size="3"><b>Din profil er gemt</b></font><br>';
}






include ("connect.php");

$bruger = array();
// henter profil-oplysninger
$query = "SELECT brugernavn, navn, adresse, email, alias, telefon, mobil, beskrivelse, foedselsdag, indmeldelsesdato"
      ." FROM brugere"
      ." WHERE id = $online_id";
$result = mysql_query ($query) or die ("Invalid query" . mysql_error());
$bruger = mysql_fetch_array($result);

echo '<table border="0" bordersize="1">'
.'<form method="post" action="?ID=min_profil&action=gem_profil" onsubmit="return submitForm();">'
.'<tr><td><b>Brugernavn:</b></td><td><input type="text" name="brugernavn" value="' .$bruger[brugernavn] .'"></td></tr>'
.'<tr><td><b>Adgangskode:</b></td><td>******** <a href="?ID=adgangskode_skift">Skift adgangskode</a></td></tr>'
.'<tr><td><b>Navn:</b></td><td><input type="text" name="navn" value="' .$bruger[navn] .'"></td></tr>'
.'<tr><td><b>Adresse:</b></td><td><textarea rows="3" cols="30" name="adresse">' .$bruger[adresse] .'</textarea></td></tr>'
.'<tr><td><b>Email:</b></td><td><input type="text" name="email" value="' .$bruger[email] .'"></td></tr>'
.'<tr><td><b>Alias:</b></td><td><input type="text" name="alias" value="' .$bruger[alias] .'"></td></tr>'
.'<tr><td><b>Telefon:</b></td><td><input type="text" name="telefon" value="' .$bruger[telefon] .'"></td></tr>'
.'<tr><td><b>Mobil:</b></td><td><input type="text" name="mobil" value="' .$bruger[mobil] .'"></td></tr>'
.'<tr><td><b>Fødselsdag:</b></td><td>' .$bruger[foedselsdag] .' *</td></tr>'
.'<tr><td><b>Indmeldelsesdato:</b></td><td>' .$bruger[indmeldelsesdato] .' *</td></tr>'
.'<tr><td></td><td>* skriv til admin@bentbyg.dk for at få det rettet</td>'
.'<tr><td><b>Beskrivelse:</b></td>'
.'<tr><td colspan="2">';
?>
<?php
//format content for preloading
if (!(isset($_POST["beskrivelse"]))) {
    $content = $bruger[beskrivelse];
    $content = rteSafe($content);
} else {
    //retrieve posted value
    $content = rteSafe($_POST["beskrivelse"]);
}
?>
<script language="JavaScript" type="text/javascript">
<!--
function submitForm() {
    //make sure hidden and iframe values are in sync before submitting form
    //to sync only 1 rte, use updateRTE(rte)
    //to sync all rtes, use updateRTEs
    updateRTE('beskrivelse');
    //updateRTEs();
   
    //change the following line to true to submit form
    return false;
}
//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML)
initRTE("rte/images/", "", "", true);

-->
</script>

<script language="JavaScript" type="text/javascript">
<!--
// Usage: writeRichText(fieldname, html, width, height, buttons, readOnly)
writeRichText('beskrivelse', '<?=$content;?>', 320, 200, true, false);
//-->
</script>
<noscript><p><b>Javascript must be enabled to use this form.</b></p></noscript>

<!-- END RTE Code -->

<?
echo '</td></tr>'
.'<tr><td></td><td><br><input type="submit" name="submit" value="Gem"></td>'
.'</form></table>';

?>





<?
}
?>
Avatar billede razmuz Nybegynder
29. januar 2006 - 11:57 #3
Ja jeg har den med!!!! Kan du se noget der er galt?!
Avatar billede coderdk Praktikant
29. januar 2006 - 12:37 #4
Hmm nææh ikke umiddelbart - Det ligner jo lidt det fra demo.php... Weird. Hvis alt andet fejler, så prøv at lave den fra bunden igen, det hjælper nogle gange :)
Avatar billede razmuz Nybegynder
29. januar 2006 - 12:47 #5
Jeg læser også i forummet på www.kevinroth.com

De siger at form'en skal have et name og at indholdet efter sending kan læses med:
document.<form name>.<rte name>.value

Ved du hvordan man skrive noget ud fra javascript? hvis nu jeg har tilføjet name="profil" i min form!

/Rasmus
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester