inhalt von textarea per ajax erweitern

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • inhalt von textarea per ajax erweitern

    hi, hab folgendes wahrscheinlich triviales problem,

    habe eine textarea die ich bereits per ajax um immer einen satz erweitere, nur wenn ich einmal etwas selbst in die textarea reinschreibe macht er mir die erweiterung nicht mehr ?! per ajax bekomme ich an der stelle aber noch das richtige zurück, und die variable die ich mit vor dem schreiben noch mit alert ausgebe hätte auch den richtigen inhalt. nur schreibt er mir nicht mehr in die textarea ...

    Quellcode

    1. alert (xmlHttp.responseText);
    2. document.getElementById(xmlElement).innerHTML= xmlHttp.responseText ;


    :?
  • ok, die scripte hatte ich hier im forum ursprünglich gefunden und entsprechend meinen bedürfnissen angepasst.

    hier meine ajax.js.php:

    Brainfuck-Quellcode

    1. <?PHP
    2. #/------------------------------------------------------------------------------
    3. #/ externe Dateien
    4. #/------------------------------------------------------------------------------
    5. include("../conf/global.php");
    6. ?>
    7. var xmlHttp
    8. var xmlElement
    9. var xmlAdd
    10. function showHint(str,action,setElement,sid,fieldValue)
    11. {
    12. xmlElement=setElement;
    13. xmlAdd=fieldValue;
    14. if (str.length==0)
    15. {
    16. document.getElementById(xmlElement).innerHTML="";
    17. return;
    18. }
    19. xmlHttp=GetXmlHttpObject();
    20. if (xmlHttp==null)
    21. {
    22. alert ("Browser does not support HTTP Request");
    23. return;
    24. }
    25. var url="<?PHP print $ajax_url; ?>";
    26. xmlHttp.open("POST",url,true);
    27. xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    28. xmlHttp.send("&action=" + action + "&sid=" + sid + "&value=" + str + "&xmlAdd=" + xmlAdd);
    29. xmlHttp.onreadystatechange=stateChanged;
    30. }
    31. function stateChanged()
    32. {
    33. if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    34. {
    35. alert (xmlHttp.responseText);
    36. document.getElementById(xmlElement).innerHTML= xmlHttp.responseText ;
    37. }
    38. }
    39. function GetXmlHttpObject()
    40. {
    41. var objXMLHttp=null
    42. if (window.XMLHttpRequest)
    43. {
    44. objXMLHttp=new XMLHttpRequest();
    45. }
    46. else if (window.ActiveXObject)
    47. {
    48. objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
    49. }
    50. return objXMLHttp;
    51. }
    Alles anzeigen


    hier die formulare über die das ajax läuft:

    formular formItemAdd ist fürs anhängen zuständig
    formular formDescription hat den inhalt für die ausgabe ..

    Quellcode

    1. <form name="formItemAdd" onsubmit="showHint(document.formItemAdd.itemAdd.value,'item_add','description','<?PHP print $sid; ?>',document.formItemAdd.description.value);return false;">
    2. <input name="itemAdd" type="text" id="itemAdd" size="4" accesskey="i" title="[Alt+i] Item anhängen" onChange="showHint(document.formItemAdd.itemAdd.value,'item_add','description','<?PHP print $sid; ?>',document.formDescription.description.value)">
    3. <input type="button" name="Submit" value="anh&auml;ngen">
    4. </form>
    5. <form name="formDescription">
    6. <textarea name="description" id="description" cols="45" rows="4" wrap="VIRTUAL" ></textarea>
    7. </form>
  • nachschlag, wenn ich einen zusätzlichen ausgabebereich mache mit:

    document.getElementById("testbereich").innerHTML= xmlHttp.responseText ;

    Quellcode

    1. function stateChanged()
    2. {
    3. if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    4. {
    5. alert (xmlHttp.responseText);
    6. document.getElementById(xmlElement).innerHTML= xmlHttp.responseText ;
    7. document.getElementById("testbereich").innerHTML= xmlHttp.responseText ;
    8. }
    9. }


    wird dieser mit dem richtigen inhalt befüllt, auch wenn ich was mit hand in die textarea eingegeben hatte ...