Merci Xavier
Après pas mal de tatonnements je suis arrivé à ce que ça fasse ce que je voulais.
Je mets ci dessous le code complet des trois pages qui fonctionnent bien.
Si ça encombre le forum le modérateur n'aura qu'à les couper.
Ça fait ce que je cherche, cependant en utilisant le debugger Microsoft Script Debugger, il me renvoie divers messages d'erreurs auxquels je ne comprend rien.
Où trouver un debugger gratuit plus compréhensible ? et surtout avec un tutorial pour débutant. Merci d'avance
*****************PAGE APPELANTE**********************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>APPELANTE</TITLE>
</HEAD>
<script type="text/javascript">
//*********declaration variables globales*******
var StringToSplit = "";
var separator = "";
var adresse = "";
var adresse_reduite = "";
var url = "";
var Npassage = 0;
//var nom_ancre ="";
//var lequel ="";
//**********************FONCTIONS*****************
function SplitString(StringToSplit,separator)
{
Npassage = Npassage + 1;
arrayOfStrings = StringToSplit.split(separator);
//alert("The separator at passage " +Npassage + " is: " + separator );
//alert ("<BR>The array for separator " + separator+ " has " + arrayOfStrings.length + " elements:); that are:<BR>");
//for (var i=0; i < arrayOfStrings.length; i++) { alert(arrayOfStrings[i] + " / ") };
var last= 1;
last = arrayOfStrings.length ;
if( last !=1){last = last - 1;}else { last = 0;};
var last_element = arrayOfStrings[last];
adresse_reduite = encodeURI(last_element);
//alert("adresse_reduite au passage " + Npassage + " vaut " + adresse_reduite );
return adresse_reduite;
}
function NewWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
win = window.open(mypage, myname, winprops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
function modif_ecrire()
{
StringToSplit = window.location.href;
//----on veut récupérer l'adresse de la page sans le chemin----
separator ="/";
SplitString(StringToSplit,separator); // appel de fonction
//alert("après modif_ecrire SplitString adresse_reduite vaut " + adresse_reduite );
// construction de l'adresse à transmettre par URL
var url = "EXO_mail_anonyme5.html?sujet=" + adresse_reduite ;
//alert("j'appelle " + url);
NewWindow(url,'name','550','400','yes'); // appel de fonction
return url;
}
</script>
<BODY >
<a name="1">****ici ancre N°1</a>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<form>
<a href="#1" > aller à l'ancre 1</a><BR>
<a href="#2" > aller à l'ancre 2</a><BR>
<input type="button" value="ECRIRE" onclick="modif_ecrire();">
<!--variante avec un lien vers le script de la page -->
<!-- href="javascript:;" onclick="modif_ecrire();"> ECRIRE par le lien</a> -->
</form>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR>
<a name="2">****ici ancre N°2</a>
</BODY>
</HTML>
**********************PAGE APPELEE FENETRE POPUP*********************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>EXO_mail_anonyme5</title>
<script language="javascript">
var precedente;
var separator = "?";
var StringToSplit = "";
var param2 = "";
var param3 ="";
var libelle = "";
var ancre = "";
function afficher()
{
adresse = document.location.href;
ancre = document.location.hash;
//this.document.write("je suis ici " + document.location);
StringToSplit = adresse;
splitString(); //appel de fonction
}
function splitString ()
{
var arrayOfStrings = new Array();
separator = "="; // pour récupérer tout ce qui est après le codon "sujet="
arrayOfStrings = StringToSplit.split(separator)
//this.document.write ('<P>The variable adresse is: "' + adresse + '"')
//this.document.write ("<BR>The array for separator " +'"'+ separator+ '"'+ " has " + arrayOfStrings.length + " elements: <BR>that are:<BR>")
var last= 1;
last = arrayOfStrings.length - 1;
param2 = arrayOfStrings[last];
//this.document.write ("<BR> The variable param2 is: " + param2 +"<BR>");
//} //fin de la fonction splitstring
//this.document.write("<BIG><BIG>ENVOYEZ VOS COMMENTAIRES</BIG></BIG><BR>");
//this.document.write("<a href=" + '"' + "EXO_mail_anonyme5.html?sujet=" + param2 + '"' +"><big><big>avec un mail anonyme</big></big></a>");
separator = "."; //pour récupérer le codon final "html#nom_ancre"
StringToSplit=param2;
arrayOfStrings = StringToSplit.split(separator);
//--ici on va remplacer le codon .html par le codon Repère
last = arrayOfStrings.length - 2;
param3=arrayOfStrings[last];
last = arrayOfStrings.length - 1;
param4=arrayOfStrings[last];
param4=param4.substring(4);
param2= param3 + " - Repère " + param4;
this.envoi.SUJET.value= param2;
} //fin de la fonction splitstring
function sortie()
{
this.envoi.SUJET.value= ""; // pour effacer l'input correspondant
}
</script>
</head>
<body onunload="sortie();">
ENVOI D'UN COMMENTAIRE ANONYME<br>
<form name="envoi" method="post" action="envoi_mail.php">
<input type="button" value="Au sujet de ->" onmousemove="afficher();">
<input type="TEXT" size="60" name="SUJET" value="passer la souris sur le pavé grisé Au sujet de ->" >
<br>
Mon pseudo:
<input type="text" size="60" name="PSEUDO" value="écrire ici le pseudonyme de votre choix" ><br>
Mon commentaire: <br>
<textarea name="MESSAGE" cols="60" rows="15">CITATION: copier coller le passage commenté
COMMENTAIRE: écrire ici votre commentaire