Newsgroup: it.comp.lang.javascript
Titolo: Problema innerHTML e text area

Salve ragazzi, ho un problema con l'utilizzo della funzione innerHTML,
devo eseguire del codice html in una text area, ma quando eseguo
innerHTML il codice html, che in questo caso è un'immagine, la
grandezza della text area prende la dimensione dell'immagine, invece io
voglio che la text area rimanga delle dimensioni da me impostate.
Qualcuno potrebbe aiutarmi a capire dov'è il problema?
Dimenticavo  innerHTML può essere usato, solo se l'area di testo è
stata definita in un blocco div?
Comunque per farmi capire meglio posto il codice in questione
<table align="center">
<tr><td>
	<input size="140"  id="title" name="title" value=""></input>
</td></tr>
<tr><td>
	<div id="test"> <textarea name="text" id="text" cols="140" rows="20">
									</textarea></div>
</td></tr>
<tr><td>
	<input type="text" id="sommary" name="sommary" size="140"
value=""></input>
</td></tr>
<tr><td>
             <input type="button" name="inserisci" size="50" value="
Inserisci " onClick="prova();" >
</tr></td>
</table>
<script language="JavaScript">
function prova()
{
         var image_src = "<img src=\"" +percorso + "\"
align=\""+allinea+ "\"   border=\""+bordo+"\" alt=\""+alt+"\">";
        document.getElementById("test").innerHTML =image_src;
}
</script>

 stata definita in un blocco div?
No, ma come regola generale è meglio.
Ciao
Marcello	


Ho provato a fare come dici tu, ma il problema è sempre lo stesso, le
dimensioni della text area, si vanno a far benedire una volta inserito
il codice html :-(

 </script>
Uhm, la div test contiene anche la textarea, se ne sostituisci l'innerHTML
sei sicuro che la textarea rimanga? :-)
Potresti provare con:
var md=document.createElement("div");
md.setAttribute("id", "divconimg");
md.innerHTML=image_src;
var d=document.getElementById("test");
d.insertBefore(md, d.firstChild);
'bye


Ti ringrazio dell'aiuto, però se faccio così l'immagine viene
inserita al di sopra della text area, invece io voglio inserirla
all'interno :-(

 all'interno :-(
Cioe' cosi'?
<textarea>
<img ...>
</textarea>
Uhm, non mi risulta che una textarea ammetta come children degli elementi
immagini... quello che scrivendo in HTML metti tra <textarea> e </textarea>
e' il contenuto *testo* dell'elemento.
'bye

 'bye
E allora non c'è modo per inserire un'immagine dentro una text area?
Io  usando il pasteHTML, ci sono tranquillamente riuscito, ma purtroppo
il pasteHTML funziona solo su internet explorer e invece io devo farlo
funzionare su firefox :-(

 E allora non c'è modo per inserire un'immagine dentro una text area?
Ma devi inserire l'elemento o solo il codice per l'immagine?
Se stai facendo un editor e quello che vuoi inserire e' il codice per
un'immagine all'interno del testo della textarea non devi usare innerHTML
ma "value" della textarea:
yourtextarea.value += "<img src="..." />";
In alcuni messaggi del newsgroup troverai anche come inserirlo nella
posizione del cursore.
Volendo ci sarebbe anche MIDAS:
http://developer.mozilla.org/en/docs/Category:Midas
http://www.mozilla.org/editor/midas-spec.html
http://developer.mozilla.org/en/docs/Midas
'bye


Eì già sto facendo un editor e devo inserire il codice html per
un'immagine all'interno della text area, per usare yourtextarea.value,
yourtextarea si riferisce all'id o al nome della text area? Ho provato
ad usare il value anche con un cursore, inizializzandolo con
window.getSelection, ma anche in questo caso l'immagine purtroppo non
viene inserita nella text area :-(

 viene inserita nella text area :-(
Il codice dell'immagine vorrai dire, l'immagine non la vedi dato che nella
textarea c'e' solo del testo :-)
Comunque:
 im=prompt("image");
 imsr="<img src='"+im+"'/>";
 var mtxt=document.getElementById("tarea"); // tarea e' l'id della textarea
 if(document.selection) { // IE
	mtxt.focus( mtxt.caretPos );	
        mtxt.caretPos = document.selection.createRange().duplicate();
	tSel = document.selection.createRange().text;
	var text=tSel + imsr;
        mtxt.caretPos.text = text;
        mtxt.caretPos.moveStart( "character", text.length * -1 );
        mtxt.caretPos.select(); 
	return;
 } else if(mtxt.selectionStart || mtxt.selectionStart == '0') { // Mozilla
	var bPos = mtxt.selectionStart;
	var ePos = mtxt.selectionEnd;
	var sTop=mtxt.scrollTop;
	var myText = (mtxt.value).substring(bPos, ePos);
	subst = myText + imsr; 
	mtxt.value = mtxt.value.substring(0, bPos) + subst + 
		mtxt.value.substring(ePos, mtxt.value.length);
	mtxt.focus();
	var cPos=bPos+myText.length;
	mtxt.selectionStart=cPos;
	mtxt.selectionEnd=cPos;
	mtxt.scrollTop=sTop;
 } else { // altri appende in fondo
	mtxt.value += imsr;
	mtxt.focus();
 }
'bye

 textarea c'e' solo del testo :-)
temo lui intenda proprio vedere l'immagine :-/ un qualcosa tipo questo:
 
http://bewebmaster.com/editorjs/
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.


Si intendo proprio vedere l'immagine, all'interno della text area del
web editor, è possibile farlo?
Purtroppo come ho detto prima utilizzando il pasteHTML si può fare
tranquillamente, ma su Firefox il pasteHTML non funziona :-((

  
http://bewebmaster.com/editorjs/
Cosa decisamente piu' complessa :-) che rimanda agli URL di MIDAS che avevo
postato prima come punto di partenza per studiare la cosa.
Piu' semplice sarebbe l'uso di qualcosa di gia' pronto tipo FCKEDITOR
http://sourceforge.net/projects/fckeditor/
 
Eventualmente per studiarne il codice e avere un'idea di come funzioni il
tutto, sempre che se ne abbia il tempo dato che lo zip dell'ultima versione
e' di quasi un mega :-)
'bye

 tranquillamente, ma su Firefox il pasteHTML non funziona :-((
E' possibile ma non in quel modo, non puoi usare una textarea, e per farlo
crossbrowser devi usare un iframe il cui document viene reso modificabile
tramite la property designMode e usare alcuni metodi del document per
modifitarne il contenuto.
Ti devi leggere un po' di documentazione:
http://developer.mozilla.org/en/docs/Midas
http://developer.mozilla.org/en/docs/Rich-Text_Editing_in_Mozilla
http://msdn.microsoft.com/workshop/author/dhtml/reference/commandids.asp
Un esempio sul sito mozilla:
http://www.mozilla.org/editor/midasdemo/
'bye

 ha scritto nel messaggio
news:1152023044....@m79g2000cwm.googlegroups.com...



tinymce ti inserisce il testo e le immagini
quindi gneri il tuo html in modo corretto
e fin qui si riesce abbastanza bene a gestire la cosa
poi bisogna parsare html da lato server per costruire e-mail
comvertire le immagini in base64 con il cid <----questo nn sono
riuscito a trovare nessuno che ci sia riuscito
appiccicarci allegati

 modifitarne il contenuto.
quindi digli di scaricarsi tiny mce che si sbatte di meno


 quindi digli di scaricarsi tiny mce che si sbatte di meno
Avevo gia' segnalato nel thread FCK Editor, ma anche tiny mce dovrebbe
andare :-)
'bye