11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour

Désolé si ma question semble basique mais je tourne en rond depuis trop longtemps sans arriver à rien

J'ai un script qui s'affiche avec l'élément : document.write (
à l'interieur mon code html.

J'aurai simplement voulu savoir si à l'interieur de document.write ( il est possible d'inserer un
<?php require("includes/monfichier.php");?>


Si oui j'aurai aimé avoir quelques tuyau sur la mesure à suivre.

Merci d'avance
Modérateur
Salut, Smiley smile

Non, pas ainsi. Le php est éxécuté avant même que le Javascript n'apparaisse ; ce que tu demandes est donc impossible.

Que souhaites-tu faire au juste ? Il semble que tu veuilles inclure un fichier mais alors, pourquoi passer par Javascript ? As-tu prévu une alternative pour ceux qui ne disposent pas de ce langage ?

Par ailleurs, les scripts fonctionnant avec document.write n'ont généralement plus lieu d'être. Actuellement, on passe par DOM et on externalise le Javascript dans un fichier externe, tout comme on peut le faire en CSS.
Merci de ta réponse

En fait je voulais mettre une page de commande ; pour ce j'avais trouvé le script qu'il me fallait que j'ai adapté :

fichier script.js
/* ----------------------------------- commande ------------------------------------*/

  <!--
  
    function test_champ(champ) {
      expr_reg = /^\d*$/ ;
      // Ci-dessus : expression régulière qui match 0,1 ou plusieurs chiffres ;
      // de cette façon on vérifie que l'utilisateur entre bien un nombre entier
      if ( expr_reg.test(champ.value) ) {
        // c'est bien un nombre entier
        calcul_form() ;
      } else {
        // ce n'est pas un nombre entier
        alert ("Ce n'est par un nombre entier !") ;
        document.form1.elements[champ.name].value = "" ;   // on efface la valeur entrée erronée
        calcul_form() ;
      }
    }
    
    function calcul_form() {
      // le with ci-dessous permet d'abréger "document.forms.form1.p1.value" en "p1.value"
      with (document.forms.form1) {
        p1.value = q1.value * pu1.value ;
        p2.value = q2.value * pu2.value ;
        p3.value = q3.value * pu3.value ;
        p4.value = q4.value * pu4.value ;
        p5.value = q5.value * pu5.value ;
        p6.value = q6.value * pu6.value ;
        p7.value = q7.value * pu7.value ;
        total.value = p1.value *1 + p2.value *1 + p3.value *1 + p4.value *1 +  p5.value *1 +  p6.value *1 +  p7.value *1  +30 ;
           // Ai mis les *1 ci-dessus afin que les + fassent une somme arithmétique
           // et non pas une concaténation de chaînes de caractères
      }
    }
  
    function champ_verrouille(champ,valeur) {
           // Remarque : en HTML 4.0, il existe un attribut "read-only" pour la
           //            balise <INPUT TYPE=text> qui interdira de modifier un champ
           //            mais ce que je fais ci-dessous est beaucoup plus sûr !!!
      // alert ("Ce champ de peut pas être modifié !") ;
      document.form1.elements[champ.name].value = valeur ;   // on remet "valeur" initiale dans champ
    }
    
    function soumettre_form() {
      if ( document.forms.form1.total.value == 0 ) {
        alert ("Vous n'avez rien commandé !\n => commande non soumise") ;
        return false ;
      } else {
        // Les 2 lignes ci-dessous devraient être activées pour réellement passer le form. à script CGI
        // document.form1.method = "POST" ;
        // document.form1.action = "http://dgrwww.epfl.ch/cgi-bin/uncgi/mail_form.sh?mailto=Jean-Daniel.Bonjour@epfl.ch" ;
		document.write ("<html><head><title>morgon</title>		<script src=\"passparam.js\"></script><link href=\"style/contact.css\" type=\"text/css\" rel=\"stylesheet\"/></HEAD><body><div id=\"contact\"><div id=\"formulaire\"><H3>Resultat de la commande :<br /> <br /> Beaujolais 2006 rouge " + 
			document.forms.form1.q1.value + " bouteille(s) ; soit : "+ document.forms.form1.p1.value + " &#128; <br /> <p><label for=\"nom\">Beaujolais 2006 rosé </label>" + 
			document.forms.form1.q2.value + " bouteille(s) ; soit : "+ document.forms.form1.p2.value + " &#128; <br /> Chirouble 2006 " + 
			document.forms.form1.q3.value + " bouteille(s) ; soit : "+ document.forms.form1.p3.value + " &#128; <br /> Morgon Côte du Py 2006 " + 
			document.forms.form1.q4.value + " bouteille(s) ; soit : "+ document.forms.form1.p4.value + " &#128; <br /> Morgon Côte du Py 2005 " + 
			document.forms.form1.q5.value + " bouteille(s) ; soit : "+ document.forms.form1.p5.value + " &#128; <br /> Morgon Vieilles Vignes 2004 " + 
			document.forms.form1.q6.value + " bouteille(s) ; soit : "+ document.forms.form1.p6.value + " &#128; <br /> Morgon cuvée fût de Chêne 2005 " + 
			document.forms.form1.q7.value + " bouteille(s) <br /> <br /> Frais de port : 30 euros <br />  <br /> Soit un total de " + 
			document.forms.form1.total.value + " &#128; </H3><br />" ) ;
		document.writeln("<?php require(\"http://www.vinsnaturels.fr/savoye/includes/01_haut.php\");?> ");
        document.close () ;
        return true ;
      }
    }
        
  // -->
  
  


La page du site : -http://www.vinsnaturels.fr/savoye/03_commande.php

désolé mais pour le javascript je débute et pour l'instant je fais ma propre cuisine.

si il y a un moyen simple de m'aider je suis preneur ; mais si ca devient compliqué ne vous embetez pas j'essairai de trouver autre chose
Modérateur
Seule la partie calcul se justifie en JS (que tu peux doubler en PHP pour que celui qui ne dispose pas de JS n'ait pas à faire le calcul lui-même). Pour la validation, mieux vaudrait la faire en PHP uniquement parce qu'actuellement, c'est inaccessible pour certains. Smiley smile
Modifié par koala64 (13 Aug 2007 - 12:30)