[JAVASCRIPT] Presonnaliser une alert()

Presonnaliser une alert() [JAVASCRIPT] - HTML/CSS - Programmation

Marsh Posté le 09-05-2007 à 12:13:31    

Bonjour à tous, je souhaite personnalisé une alerte.
 
Alors j'ai le code suivant : Je clique sur un bouton, la boite de dialogue s'affiche, je saisis mon texte, et celui ci s'ajoute dans le textarea sans probleme.
 
Voici la fonction qui affiche l'arlert.

Code :
  1. // Insert URL Tag
  2. function ins_url(theform) {
  3.  // inserts named url link - [url=mylink new=true]text[/url]
  4.  link_url = prompt('Entrez lÂURL complète du lien'+'\n[/url]',"http://" );
  5.  if ( (link_url != null) ) {
  6.   // Get selected text
  7.   var link_text = getSelectedText(theform);
  8.   if (link_text == '') {
  9.    // Display prompt if no text is selected
  10.    link_text = prompt('Entrez le texte associé au lien (optionnel)'+'\n[url=]xxx',"" );
  11.   }
  12.   if ( (link_text == null) || (link_text == '') ) {
  13.    link_text = link_url;
  14.   }
  15.   link_target = prompt('Ouvrir l´URL dans une nouvelle fenêtre (optionnel):'+'\n[url= new=true/false][/url]','');
  16.   str = '[url='+link_url;
  17.   if ((link_target != null) && (link_target != '')) {
  18.    link_target.toLowerCase;
  19.    if ( link_target == 'true' || link_target == 'false' ) {
  20.     str += ' new='+link_target;
  21.    }
  22.   }
  23.   str += ']'+link_text+'[/url]';
  24.   insertAtCaret(theform, str);
  25.   theform.focus();
  26.  }
  27. }


 
 
D'un autre coté, j'ai trouvé ce code : http://javascript.internet.com/tex [...] rompt.html
avec la fonction

Code :
  1. var response = null
  2.   function prompt2(promptpicture, prompttitle, message, sendto) {
  3.    promptbox = document.createElement('div');
  4.    promptbox.setAttribute ('id' , 'prompt')
  5.     document.getElementsByTagName('body')[0].appendChild(promptbox)
  6.     promptbox = eval("document.getElementById('prompt').style" )
  7.     promptbox.position = 'absolute'
  8.     promptbox.top = 100
  9.     promptbox.left = 200
  10.     promptbox.width = 300
  11.     promptbox.border = 'outset 1 #bbbbbb'
  12.     document.getElementById('prompt').innerHTML = "<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr valign='middle'><td width='22' height='22' style='text-indent:2;' class='titlebar'><img src='" + promptpicture + "' height='18' width='18'></td><td class='titlebar'>" + prompttitle + "</td></tr></table>"
  13.     document.getElementById('prompt').innerHTML = document.getElementById('prompt').innerHTML + "<table cellspacing='0' cellpadding='0' border='0' width='100%' class='promptbox'><tr><td>" + message + "</td></tr><tr><td><input type='text' id='promptbox' onblur='this.focus()' class='promptbox'></td></tr><tr><td align='right'><br><input type='button' class='prompt' value='OK' onMouseOver='this.style.border=\"1 outset #dddddd\"' onMouseOut='this.style.border=\"1 solid transparent\"' onClick='" + sendto + "(document.getElementById(\"promptbox\" ).value); document.getElementsByTagName(\"body\" )[0].removeChild(document.getElementById(\"prompt\" ))'> <input type='button' class='prompt' value='Cancel' onMouseOver='this.style.border=\"1 outset transparent\"' onMouseOut='this.style.border=\"1 solid transparent\"' onClick='" + sendto + "(\"\" ); document.getElementsByTagName(\"body\" )[0].removeChild(document.getElementById(\"prompt\" ))'></td></tr></table>"
  14.     document.getElementById("promptbox" ).focus()
  15.    }


 
J'aimerai adapter ma premiere fonction pour qu'elle arrive à etre personnalisé comme la deuxieme.
 
Si je fais ca :

Code :
  1. link_url = prompt("<table cellspacing='0' cellpadding='0' border='0' width='100%'><tr valign='middle'><td width='22' height='22' style='text-indent:2;' class='titlebar'><img src='' height='18' width='18'></td><td class='titlebar'></td></tr></table>" );


Cela m'affiche le code en brut.
 
Pouvez-vous m'aider à trouver la syntaxe pour personnalisé ma premiere fonction
 
Merci d'avance!!

Reply

Marsh Posté le 09-05-2007 à 12:13:31   

Reply

Marsh Posté le 16-05-2007 à 17:12:27    

Salut,
 
La fonction Javascript prompt() est uniquement faite pour afficher un message texte et récupérer une chaine de caractère via le champ prévu à cet effet. Elle n'est malheureusement pas personnalisable, tout comme les deux autres fonction similaires alert() et confirm()
 
Pour pouvoir faire une popup perso, tu n'as pas d'autres choix que d'ouvrir une petite page HTML via la fonction window.open().
Ainsi tu pourras créer une popup avec l'apparence que tu souhaites, avec autant de texte, images et boutons dont tu as besoin.
 
La seul contrainte (logique) est de placer dans la petite page un bouton "FERMER" et d'inclure dans le code HTML de cette même page un bout Javascript qui ferme la popup et renvoie les données à la page appelante.
 
Voici le code exemple Javascript qui permet d'ouvrir et fermer des popups :

Code :
  1. /*******************************************************************************
  2. * Ouverture des Popup
  3. *******************************************************************************/
  4. function ouvrePopup(sPage, iLarg, iHaut){
  5.     var iTop=(screen.height-iHaut)/2;
  6.     var iLeft=(screen.width-iLarg)/2;
  7.     window.open(sPage, "popup", "resizable=no, location=no, menubar=no, status=no, scrollbars=no, top="+iTop+",left="+iLeft+",width="+iLarg+", height="+iHaut);
  8.     return false;
  9. }
  10. /*******************************************************************************
  11. * Fermeture des Popup
  12. *******************************************************************************/
  13. function fermePopup(){
  14.     opener = self;
  15.     self.close();
  16. }


 
le paramètre "sPage" de la fonction "ouvrePopup()" contien le nom complete de la page à ouvrir dans le popup ; "iLarg" et "iHaut" sont les dimensions de ta popup.
 
Je sais pas si j'ai été clair ou si j'ai bien répondu à ton problème  ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed