Avatar billede sw_red_6 Nybegynder
03. november 2006 - 14:10 Der er 6 kommentarer og
1 løsning

output er helt til rotterne

Jeg har det her stående i en database og når jeg henter det ud så kommer det frem på siden som det står, som om det ikke bliver fortolket som værende html.
<p>Hellere teste det hele</p><ul><li><strong>jwe<em>afsdh</em></strong><em>sgg</em>afh</li></ul><ol><li>dfljbg<strong>lasuhg</strong><em><strong>afbg</strong>lasfjn</em></li></ol><p><em>kdlfjbg<strong>adflkjnhskfg</strong></em><strong>lasfdjghklb</strong>asklfbg</p>

det bliver hentet med følgende kode:
var req=null;
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;

function test(data) {
  var vis_tekst=document.getElementById('vis_tekst');
  if(!document.getElementById('teksten')) {
    var childEl=document.createElement("p");
    childEl.id="teksten";
    childEl.classname="test";
    var txtNode=document.createTextNode(data);
    childEl.appendChild(txtNode);
    vis_tekst.appendChild(childEl);
  } else {
    var sletEl=document.getElementById('teksten');
    vis_tekst.removeChild(sletEl);
    var childEl=document.createElement("p");
    childEl.id="teksten";
    childEl.classname="test";
    var txtNode=document.createTextNode(data);
    childEl.appendChild(txtNode);
    vis_tekst.appendChild(childEl);
  }
}

function initXMLHTTPRequest() {
  var xRequest=null;
  if (window.XMLHttpRequest) {
    xRequest=new XMLHttpRequest();
  } else if(window.ActiveXObject) {
    xRequest=new ActiveXObject("Microsoft.XMLHTTP");
  }
  return xRequest;
}

function onReadyState() {
  var ready=req.readyState;
  var data=null;
  if(ready==READY_STATE_COMPLETE) {
    data=req.responseText;
  } else {
    data="Loading...["+ready+"]";
  }
  alert(data);
  test(data);
}

function sendRequest(url, params, HttpMethod) {
  alert(url);
  if(!HttpMethod) {
    HttpMethod="GET";
  }
  req = initXMLHTTPRequest();
  if(req) {
    req.onreadystatechange=onReadyState;
    req.open(HttpMethod, url, true);
    req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    req.send(params);
  }
}

hvis det kan lave bedre, trækkes sammen... så er jeg klart åben for forslag på det punkt også, men det er primært hvordan jeg for skidtet til at skrive det ud rigtigt!
Avatar billede olebole Juniormester
03. november 2006 - 14:17 #1
<ole>

Hvis vi taler om Ajax, så sendes de rå data tilbage til klienten i XML- eller JSON-format - og de HTML-formateres først på klienten med DOM.
Det, du laver, er en sammenblanding, der ikke har meget med Ajax at gøre  =)

/mvh
</bole>
Avatar billede sw_red_6 Nybegynder
03. november 2006 - 14:25 #2
huh..?
Ikke fordi jeg vil diskutere det nærmere, men hvor skriver jeg noget om Ajax?

Desuden så skal formateringen gemmes sammen med teksten, da teksten skal kunne sættes op som brugeren selv ønsker det. Med mindre du har en anden måde at gøre det på...?
Avatar billede olebole Juniormester
03. november 2006 - 14:31 #3
Du skriver ikke ét ord om Ajax - men du skriver en kode, der er 90% Ajax og 10% .... ehhh .... noget andet noget  =)

Her bestiller du selv returdata udskrevet som en tekststreng (createTextNode):
    var txtNode=document.createTextNode(data);
    childEl.appendChild(txtNode);

Du kan bruge innerHTML i stedet for DOM, men så kan du ikke bruge scriptet under XHTML. Det kan du nu heller ikke med resten af dit script, men det er en helt anden sag  :)
Avatar billede erikjacobsen Ekspert
03. november 2006 - 14:32 #4
Så må du skulle bruge den "grimme" atribut, der hedder: innerHTML
Avatar billede sw_red_6 Nybegynder
03. november 2006 - 14:39 #5
øv, det havde jeg egentligt håbet på ikke var nødvendigt, den er jo trods alt "grim".
hvis olebole lige ligger et svar...
Avatar billede olebole Juniormester
03. november 2006 - 14:52 #6
- s'gerne  ;o)

Du _kan_ godt parse retur-strengen og oprette elementer i DOM udfra resultatet ... men det er godt nok noget bøvl  :oP
Avatar billede sw_red_6 Nybegynder
03. november 2006 - 15:02 #7
de _kunne_ jeg måske nok, hvis jeg var _MEGET_ bedre til javascript end jeg er.
men hvis du har et forslag til hvordan det kan gøres ville jeg ikke sige nej til at se det. Samtlige tags som er mulige er i den tekst-streng jeg har i spørgsmålet, hvis det kan være til hjælp
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