IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Evènement fonction javascript


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Evènement fonction javascript
    Bonjour tout le monde,

    Tout d'abord je me suis pas mal renseigné avant de poster.
    Mais rien a faire je n'arrive pas a comprendre .

    Je cherche a comprendre comment fonctionne la fonction Event.observe(window, 'load', fonction(), false) de prototype.js

    Mon réel problème est que j'ai besoin de cette fonction pour faire ce que je veux, c'est a dire lancer une fonction que j'ai crée sans onclick ou evenement onload du body.

    J'ai personnalisé la fenetre prompt() et crée un fond simulant un modal.
    Tout fonctionne parfaitement avec onclick mais pas en appel direct...

    Pouvez vous m'aidez ? voici une ébauche de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    <!-- Le javascript -->
     
    <script type="text/javascript" src="js/prototype.js"></script>
    <script type="text/javascript">
    window.prompt = function(msg){
    		var promptBox = ""; 
    			promptBox +="<div class=\"header\"></div>";
    			promptBox +="<div id=\"content\" class=\"content\">";
    			promptBox +="	<div id=\"text\" class=\"text\"></div>";
    			promptBox +="	<form name='envoi' action='test.php' method='get'><br>";
    			promptBox +="	<input type='text' name='mot'>";
    			promptBox +="	<div id=\"ZoneBtn\" class=\"ZoneBtn\"><input type='submit' value='' style=\"cursor:pointer\" class='ok' onclick=\"unshox();\"></div>";
    			promptBox +="	</form>";
    			promptBox +="</div>";
    			promptBox +="<div class=\"footer\" ></div>";
    		document.getElementById("formTest").innerHTML = promptBox;   
    		shox(msg);
    	}
     
    	function shox(msg)
    	{
    		var screenOffsetWidth = getLayoutOffsets()[0];
    		var screenOffsetHeight = getLayoutOffsets()[1];
    		document.getElementById('formTest').style.display='';
    		document.getElementById('formTest').style.position = 'absolute';
    		document.getElementById('formTest').style.left=(screenOffsetWidth/2)-100 + 'px';
    		document.getElementById('formTest').style.top=(screenOffsetHeight/2)-150 + 'px';
    		document.getElementById('text').innerHTML = msg;
    		FondModal();
    	}
     
    	function unshox()
    	{
    		document.getElementById('text').innerHTML = '';
    		document.getElementById('formTest').style.display='none';
    		unFondModal();
    	}
     
    	function FondModal()
    	{
    		document.getElementById('FondModal').style.display ='';
    	}
     
    	function unFondModal()
    	{
    		document.getElementById('FondModal').style.display='none';
    	 }
    </script>
     
    <!-- Le HTML && Le PHP -->
     
    <script language="javascript">
    prompt('coucou');
    </script>
     
    <div id="FondModal" style="position:absolute;left:0;top:0;cursor:not-allowed;width:100%;height:100%;background:url(images/shadow.png);opacity:0.2;filter:alpha(opacity=20);display:none"></div>
     
    	<div>On test la fenêtre --> <input type='submit' value='Voir' onclick="prompt('Saisie ton prenom :');"><br>
     
    	On test le fond --> <input type='submit' value='Voir' onclick="FondModal()"></div>
     
    <div id="formTest" style="width:220px;display:none"></div>
     
    <?php           
    if(isset($_GET['mot']))
    {
            $m = $_GET['mot'];
            echo "
            <br>
            Tu te nomme : $m 
            <br>
            <input type='submit' value='Retour' onclick=\"document.location.replace('test.php')\">
            ";
    }
    ?>
    Tout fonctionne bien sauf l'appel du prompt('coucou')....

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Bonjour et bienvenue sur le forum.

    Ton souci, c'est que l'appel à ta fonction se fait avant que la div d'id formTest ne soit dessiné. Comme ta fonction prompt fait référence à cette div, ça ne fonctionne pas.
    Essaye donc en déplaçant ton appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script language="javascript">
    prompt('coucou');
    </script>
    après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="formTest" style="width:220px;display:none"></div>
    Du coup je ne comprend pas ton souci avec Event.observe. Event.observe permet d'enregistrer des fonctions qui écoutent des événements. En aucun cas de simuler un événement.

    Par ailleurs, tu sais que la fonction prompt existe déjà ? Tu surcharges une fonction native... ce n'est pas grave, mais il faut le savoir.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/08/2008, 21h36
  2. Réponses: 5
    Dernier message: 13/08/2004, 15h40
  3. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  4. Réponses: 11
    Dernier message: 10/05/2004, 10h49
  5. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo