begin process at 2012 05 28 23:16:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Adapter une fonction... windows.opener et position du curseur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Adapter une fonction... windows.opener et position du curseur

mercredi 7 octobre 2009 à 08:34:33 | Adapter une fonction... windows.opener et position du curseur

davidcian

Bonjours,

J'aimerais adapter cette fonction a une fenêtre pop up qui sert à insérer une image dans une div à la position du curseur.

Mon niveau en javascript ne me permet pas d'arriver à mes fins pouvez vous m'aider?

Voila la fonction sert a insérer l'image la ou se trouve le curseur:
Code Javascript :
function insertatcursor(myfield, myvalue) {
	//ie support
	if (document.selection) {
	myfield.focus();
	sel = document.selection.createrange();
	sel.text = myvalue;
	}
		//mozilla/netscape support
		else if (myfield.selectionstart || myfield.selectionstart == '0') {
		var startpos = myfield.selectionstart;
		var endpos = myfield.selectionend;
		myfield.value = myfield.value.substring(0, startpos)
		+ myvalue
		+ myfield.value.substring(endpos, myfield.value.length);
	} else {
		myfield.value += myvalue;
	}
}


Voila le déclencheur:
Code Javascript :
insertatcursor(window.opener.document.getelementbyid(target_div).innerhtml, image);


mercredi 7 octobre 2009 à 10:03:09 | Re : Adapter une fonction... windows.opener et position du curseur

Bul3

Membre Club
Bonjour,

>>Voila la fonction sert a insérer l'image
>>la ou se trouve le curseur:
euh... ça m'étonnerait !
ça insère du texte, pas une image
pour insérer une image, tel que vous
semblez vouloir le faire, il faut se
tourner vers le wysiwyg avec execCommand
sur un <div "conteneditable"> ou un <iframe "designMode">
ou peut-être avec innerHTML+=
ou createElement+appendChild, ou....
pas assez de billes pour dire réellement

Cordialement [mon Site] [M'écrire] Bul
mercredi 7 octobre 2009 à 13:20:38 | Re : Adapter une fonction... windows.opener et position du curseur

davidcian

Merci de ces 1er précisons ;)

voila la solution que j'ai retenus:

Code Javascript :
var target_div = target+'_div';
		
		var contenu_html = window.opener.document.getelementbyid(target_div).innerhtml
		
		var oldel = (typeof target_div === "string" ? window.opener.document.getelementbyid(target_div) : target_div);
		var newel = oldel.clonenode(false);
		newel.innerhtml = contenu_html+image;
		oldel.parentnode.replacechild(newel, oldel)


Au part avant j'ai testé ca, mais ca n'a pas l'aire de marcher sous FF + MAC car ca vide tous le contenus...
Code Javascript :
window.opener.document.getelementbyid(target_div).innerhtml = (contenu_html+image);

idem avec ca:
Code Javascript :
window.opener.document.getelementbyid(target_div).innerhtml += (image);


Je ne sais pas encore si ma 1er solution marche sous MAC + FF (pas encore testé) mais ca passe sous PC +FF

Par contre je n'ai pas réglé mon problème initial, qui est d'insérer l'image la ou ce trouve le curseur...
Sachant que ma bibliothèque d'image s'ouvre dans un popup (donc: window.opener).

Merci

Az

mercredi 7 octobre 2009 à 13:32:34 | Re : Adapter une fonction... windows.opener et position du curseur

Bul3

Membre Club
>>Par contre je n'ai pas réglé mon problème initial,
vous avez probablement lu mon message en diagonale
et si ce n'est pas du wysiwyg que vous
voulez utiliser : trop peu d'infos pour
répondre ( sauf pistes signalées )
mercredi 7 octobre 2009 à 16:29:11 | Re : Adapter une fonction... windows.opener et position du curseur

davidcian

Bon j'ai du neuf....

innerhtml semble incompatible avec les MAC bug connue.

Il a fallut que je trouve une alternative que voici:
Code Javascript :
	eimg = document.createelement('img');
			eimg.setattribute("alt",param.f_alt);
			eimg.setattribute("src",param.f_url);
		
			if(param.f_align=="left"){
				eimg.setstyle({"float" : param.f_align});
			}else if(param.f_align=="right"){
				eimg.setstyle({"float" : param.f_align});
			}else if(param.f_align!=""){
				eimg.setstyle({"align": param.f_align});
			}
	
				
			if(param.f_width!="")
				eimg.setstyle({"width" : param.f_width+'px'});
				
			if(param.f_height!="")
				eimg.setstyle({"height" : param.f_height+'px'});
				
			if(param.f_padding!="")
				eimg.setstyle({"padding" : param.f_padding+'px'});
				
			if(param.f_margin!="")
				eimg.setstyle({"margin" : param.f_margin+'px'});
			
			if(param.f_border!="")
				eimg.setstyle({"border" : param.f_border+'px'});
				
			if(param.f_bordercolor!="")
				eimg.setstyle({"border-color" : param.f_bordercolor});
				
			if(param.f_backgroundcolor!="")
				eimg.setstyle({"background-color" : param.f_backgroundcolor});
			
			var target_div = target+'_div';
			var madiv = window.opener.document.getelementbyid(target_div); //récupération de la div
			madiv.appendchild(eimg); //ajout du text proprement dans la div ;)


Alors ca mache plus ou moins

Ca! Ca marche!
Code Javascript :
	eimg = document.createelement('img');
			eimg.setattribute("alt",param.f_alt);
			eimg.setattribute("src",param.f_url);
		
			if(param.f_align=="left"){
				eimg.setstyle({"float" : param.f_align});
			}else if(param.f_align=="right"){
				eimg.setstyle({"float" : param.f_align});
			}else if(param.f_align!=""){
				eimg.setstyle({"align": param.f_align});
			}
	
				
			if(param.f_width!="")
				eimg.setstyle({"width" : param.f_width+'px'});
				
			if(param.f_height!="")
				eimg.setstyle({"height" : param.f_height+'px'});
				
			if(param.f_padding!="")
				eimg.setstyle({"padding" : param.f_padding+'px'});
				
			if(param.f_margin!="")
				eimg.setstyle({"margin" : param.f_margin+'px'});
			
			if(param.f_border!="")
				eimg.setstyle({"border" : param.f_border+'px'});
				
			if(param.f_bordercolor!="")
				eimg.setstyle({"border-color" : param.f_bordercolor});
				
			if(param.f_backgroundcolor!="")
				eimg.setstyle({"background-color" : param.f_backgroundcolor});
			
			var target_div = target+'_div';
			var madiv = window.opener.document.getelementbyid(target_div); //récupération de la div
			madiv.appendchild(eimg); //ajout du text proprement dans la div ;)


En gros debut + fin! Mais dés que je veux rajouter les style avec "setStyle" bah la il n'y a plus personne...

Je suis pas loin de trouver mais si vous avez une idée? D'autant qu'a mon avis c'est pas grand chose...

Az


Cette discussion est classée dans : fonction, code, curseur, value, myfield


Répondre à ce message

Sujets en rapport avec ce message

Fonction avec parametres [ par lotr ] Bonjour,Voila mon pb : j'utilise une fonction JS qui rend une liste selectionnable/deselectionnable selon qu'une checkbox est cochee/decochee.Ma fonct Nom de fonction en variable [ par Ekik ] Bonjours,Est-il possible d'appeler une fonction dont son nom est une variable ?Je m'explique :Est-il possible de faire ceci :var nom_fonc = Fonction qui déconne !!! [ par rasjah ] Bonjour, j'ai fait une fonction javascript qui verifie deux valeur mais lors du chargement de la page, j'ai une erreur que je ne trouve pas.Si kelk1 c Ecrire un code Javascript dans un "tut" Javascript ? [ par honolulu ] Salut,Je suis en train de creer un "tut" de la manière suivante : j'ai fait un array (a, b, c, d), créé une fonction affiche () {document.form.textare pb fonction js pour submit de formulaire dynamique [ par BDdev ] HELP !!!!je créé dynamiquement sur une page un tableau contenant les résultats d'une requete sql et dans chaque ligne un formulaire (caché) et je voud par dessous ou par dessous ...? [ par GuilleW ] voila .. il me faudrai un code du style :z-index:'100'mais dans une fonction ... je m'explique ...disons que j'ai deux en posi If If Else... [ par plx4ever ] Salut à tous !Alors voila mon petit probleme qui doit etre tres simple a resoudre pourtant...Mon code: function verif(formulaire) { if(formulaire.nom. Appeler une fonction javascript avec un href [ par sylcasi ] Bonjour,Est-il possible d'appeler du code javascript par l'intermediaire d'un href ?en fait je voudrais pouvoir executer un code en cliquant sur un mo Ajouté un window.open dans une fonction [ par pyranhaz ] function Agree(Terms) { checkobj = Terms; if(document.donnee.agree.checked == true) { document.donnee.btn_valid.dis Problème fonction [ par stanilou ] Salut,Je suis vraiment désoler, le premier message que j'ai posté était dans la mauvaise catégorie... Je le remet donc à ça place ici (Le Modo peut su


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales