Hoi,
Het volgende is me gelukt:
1) een div'je met een javascript:onclick een xmlhttprequest laten uitvoeren
2) datzelfde div'je vullen met een <input type=text>
3) onsubmit() de tekst uit de inputfield echo'en
Dat gaat goed omdat de tekst 1 zin is zonder newlines of breaks
Als ik dit echter probeer met een textarea, dan gaat het mis.
Even wat code om het probleem te illustreren:
in de index.php
in ajaxserver.php
nu gaat het mis met de tekst formatting
als ik op het DIV'je met de onclick klik, verspringt de DIV naar een textarea die is gevuld met de tekst die oorspronkelijk in de DIV stond (snap je het nog?)
daarin is de opmaak nog goed qua newlines / breaks
als ik deze echter submit, wordt-ie in de database gezet zonder newlines, waardoor de nl2br functie niet meer werkt
de tekst ziet er dan in plaats van zo:
test
test
test
zo uit:
test test test
--------
conclusie - dit heeft mijns inziens te maken met het feit dat ik een xmlhttp GET doe en geen POST
maar het moet toch ook met een GET kunnen?
heeft iemand dit probleem al eens gehad en eenvoudig verholpen?
sorry voor deze warrige post..
Het volgende is me gelukt:
1) een div'je met een javascript:onclick een xmlhttprequest laten uitvoeren
2) datzelfde div'je vullen met een <input type=text>
3) onsubmit() de tekst uit de inputfield echo'en
Dat gaat goed omdat de tekst 1 zin is zonder newlines of breaks
Als ik dit echter probeer met een textarea, dan gaat het mis.
Even wat code om het probleem te illustreren:
in de index.php
code:
1
2
| <div title="click to edit article" id="edit_article_box" class="edit_article"> <div onclick="javascript:loadFragmentInToElement('ajaxserver.php?a=showeditarticle&story_id=<?=$row->id;?>','edit_article_box')";><?=stripslashes($row->pub_article);?></div> |
in ajaxserver.php
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| case "showeditarticle" : $sid = $_REQUEST['story_id']; $res = mysql_query("SELECT pub_article FROM xxx WHERE id = '".$sid."' LIMIT 1"); $row = mysql_fetch_object($res); ?> <textarea style="border:none; color: black; font: 10px arial;" cols="150" rows="15" id="pub_article"><?=stripslashes($row->pub_article);?></textarea><br /> <input type="submit" name="submit" value="ok" onClick="javascript:loadFragmentInToElement('ajaxserver.php?a=editarticle&story_id=<?=$sid;?>&val=' + document.getElementById('pub_article').value,'edit_article_box');"> <?php break; case "editarticle" : $val = addslashes(strip_tags($_REQUEST['val'])); $sid = $_REQUEST['story_id']; if ( !empty ( $val ) ) { mysql_query("UPDATE xxx SET pub_article = '".$val."' WHERE id = '".$sid."' LIMIT 1"); } ?> <div onclick="javascript:loadFragmentInToElement('ajaxserver.php?a=showeditarticle&story_id=<?=$sid;?>','edit_article_box')";><?=stripslashes($val);?></div> <?php break; |
nu gaat het mis met de tekst formatting
als ik op het DIV'je met de onclick klik, verspringt de DIV naar een textarea die is gevuld met de tekst die oorspronkelijk in de DIV stond (snap je het nog?)
daarin is de opmaak nog goed qua newlines / breaks
als ik deze echter submit, wordt-ie in de database gezet zonder newlines, waardoor de nl2br functie niet meer werkt
de tekst ziet er dan in plaats van zo:
test
test
test
zo uit:
test test test
--------
conclusie - dit heeft mijns inziens te maken met het feit dat ik een xmlhttp GET doe en geen POST
maar het moet toch ook met een GET kunnen?
heeft iemand dit probleem al eens gehad en eenvoudig verholpen?
sorry voor deze warrige post..