Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Formulaire JavaScript


Messages recommandés

Invité alexferny
Posté(e)

Bonjour à tous,

 

Je suis tout nouveau dans la programmation et j'apprends beaucoup sur le tas.

J'ai quelques soucis de compréhension dus à mon manque d'expérience.

Je m'explique :

Je viens de réaliser un formulaire pour mon site internet en HTML (voir le "Form" en bas de page).

Je souhaite que ce formulaire, une fois rempli et validé par l'utilisateur, s'affiche dans une nouvelle page pour en effectuer l'impression papier.

Je ne sais absolument pas comment récupérer les valeurs et les afficher pour l'impression...

Quelqu'un pourrait-il m'aider à la réalisation du code JavaScript ?

Je suis au bout de mes recherches…

Merci d'avance.

 

 

<form style="width: 850px; height: 1200px" onsubmit="" method="post" action="" name="savform">

<fieldset style="background-image: url(); border-bottom: #ff6600; border-left: #ff6600; padding-bottom: 8px; text-transform: capitalize; font-style: italic; margin: 3px; padding-left: 8px; width: 800px; padding-right: 8px; height: 1150px; border-top: #ff6600; border-right: #ff6600; padding-top: 8px">

<p><legend style="font-style: italic; color: #ffcc00; font-size: 12px; font-weight: bold"></legend></p>

<div style="background-image: url(); padding-bottom: 8px; margin: 3px; padding-left: 8px; width: 775px; padding-right: 8px; height: 20px; padding-top: 8px" align="left"><span style="font-family: Arial; color: #000000; font-size: 14px"><strong style="font-size: 14px">Informations Clients</strong></span></div>

<div> </div>

<!-- Titre du fieldset -->

<!-- align='left'

<p-->

<div align="left"><label for="nom"><span style="color: #000000">Votre Nom</span></label><br />

</div>

<div align="left"><input style="background-color: #000000; width: 200px; height: 30px; color: #ffffff" id="nom" tabindex="10" name="nom" type="text" value=""/></div>

<div> </div>

<div align="left"><label for="prenom"><span style="color: #000000">Votre Prénom</span></label><br />

</div>

<div align="left"><input style="background-color: #000000; width: 200px; height: 30px; color: #ffffff" id="prenom" tabindex="20" size="13" name="prenom" type="text" value=""/></div>

<div align="left"> </div>

<div align="left"><label for="email"><span style="color: #000000">Votre adresse email</span></label></div>

<div align="left"><input style="background-color: #000000; width: 200px; height: 30px; color: #ffffff" id="email" tabindex="30" name="email" autocomplete="OFF" type="text" value=""/><br />

</div>

<p> </p>

<p><legend style="font-style: italic; color: #ffcc00; font-size: 12px; font-weight: bold"></legend></p>

<div style="background-image: url(); padding-bottom: 8px; margin: 3px; padding-left: 8px; padding-right: 8px; padding-top: 8px" align="left"><span style="text-transform: none; color: #000000"><strong style="font-size: 14px">Informations sur le produit à retourner dans nos services</strong></span></div>

<!-- Titre du fieldset -->

<p><span style="color: #ffffff; font-weight: bold"><label style="text-transform: none; color: #000000" for="ref">N° de référence de la montre<br />

(Elle se trouve gravée au dos de la montre et se compose de 4 chiffres)</label></span><strong style="color: #ffffff"><br />

</strong><strong></strong></p>

<p><input style="background-color: #000000; width: 200px; height: 30px; color: #ffffff" id="ref" tabindex="10" name="ref" type="text" value=""/><br />

</p>

<p><label style="text-transform: none; color: #000000" for="ref"><strong>Garantie<br />

</strong>(Dans le cas où votre montre est encore couverte par la garantie 24 mois,<br />

il est <span style="color: #ffcc00"><strong>impératif de joindre la carte de garantie </strong></span>qui vous a été délivrée le jour de votre achat)</label><br style="color: #000000" />

</p>

<p><input id="oui" tabindex="40" value="oui" type="radio" name="garantie" /> <label for="oui"><span style="color: #000000">Oui</span></label><br />

<input id="non" tabindex="50" value="non" type="radio" name="garantie" /> <label for="non"><span style="color: #000000">Non</span></label></p>

<div> </div>

<p><legend style="font-style: italic; color: #ffcc00; font-size: 12px; font-weight: bold"></legend></p>

<div style="background-image: url(); padding-bottom: 8px; margin: 3px; padding-left: 8px; padding-right: 8px; padding-top: 8px" align="left"><span style="text-transform: none; color: #000000; font-size: 14px"><strong>Description de la panne</strong></span><span style="text-transform: none; color: #ffcc00"><strong style="font-size: 14px"><br />

</strong></span></div>

<p><label style="text-transform: none; color: #000000" for="description panne">Décrire la panne ou les travaux à réaliser sur la montre</label><br style="color: #000000" />

<textarea style="background-color: #000000; width: 500px; height: 200px; color: #ffffff" id="description panne" tabindex="80" rows="4" cols="40" name="description panne"type="text" value=""></textarea></p>

<div> </div>

<p><legend style="font-style: italic; color: #ffcc00; font-size: 12px; font-weight: bold"></legend></p>

<div style="background-image: url(); padding-bottom: 8px; margin: 3px; padding-left: 8px; padding-right: 8px; padding-top: 8px" align="left"><span style="text-transform: none; color: #000000"><strong style="font-size: 14px">Renvoyer votre montre</strong></span></div>

<div style="text-transform: none"> </div>

<div> <span style="text-transform: none; color: #000000">Nous vous recommandons d'utiliser du papier bulle pour emballer votre montre afin qu'elle soit protégée durant le transport et de l'expédier par la Poste en 'Colissimo' à l'adresse ci-dessous :</span><span style="text-transform: none; color: #ffffff"><br />

</span></div>

<div> </div>

<div align="center"><span style="color: #000000; font-size: 14pt"></span></div>

<div align="center"><span style="color: #000000; font-size: 14pt">Service Après-Vente<br />

</span></div>

<div align="center"><span style="color: #000000; font-size: 14pt"><br />

</span></div>

<div align="center"><span style="color: #000000; font-size: 14pt">06400 Cannes</span></div>

<div align="center"><span style="color: #000000; font-size: 14pt">France</span><span style="color: #ffffff; font-size: 14pt"> </span></div>

</fieldset>

<div align="center"><INPUT type="submit" value="Envoyez" />

</form>

<HTML>

 

P.S.: il existe peut-être quelques erreurs dans mon "form"

  • Modérateurs
Posté(e)

Salut Alex,

 

La rédaction HTML de ton formulaire n'est pas un exemple de clarté, c'est le moins que l'on puisse dire :outch:

On va arranger ça en développant trois aspects,

- la séparation contenu / mise en forme,

- la structuration du contenu,

- les feuilles de style spécialisées par média.

 

Contenu / mise en forme

 

Pour obtenir une page Web claire (qui sera d'autant plus facile à modifier), il faut séparer le contenu des modalités de sa présentation,

- le contenu, c'est la page HTML,

- la présentation, c'est la feuille de style CSS.

 

Structure du contenu

 

Plutôt que cet empilement de blocs <div>, <span>, etc., il suffit de décrire ton formulaire en trois paragraphes <p>,

- le client (dont les modalités de présentation seront décrites par la classe "client"),

- le produit (classe "produit"),

- l'adresse (classe "adresse").

 

Peut-on faire plus clair, plus simple ? Les deux premiers paragraphes comportent des éléments de formulaire, pour chacun desquels on peut décrire des modalités de présentation,

- élément input/text, classe "simple",

- élément textarea, classe "textarea",

- élément input/radio (sans besoin particulier de présentation).

 

J'ai laissé les balises <label>, qui me semblent néanmoins tout à fait inutiles…

 

Feuilles de style par média

 

Les clauses de style (les classes évoquées ci-dessus) sont représentées par des étiquettes dans la feuille de style (par exemple .client), qui seront référencées dans la page HTML (dans l'exemple, <p class="client">).

 

D'après tes desiderata, nous devrions avoir besoin de mettre en œuvre deux médias, l'écran (screen) et l'impression (print), mais il faut savoir qu'il en existe bien d'autres, en particulier destinés à ceux qui souffrent de handicaps (voir ici) !

 

Tu trouveras ci-dessous la page HTML "désossée"

 

<html>

<head>

<title>Mon formulaire</title>

<link rel="stylesheet" type="text/css" media="screen" href="stylecran.css">

<link rel="stylesheet" type="text/css" media="print" href="styleimpr.css">

</head>

<body>

<form onsubmit="" method="post" action="" name="savform">

<fieldset>

<p class="client">

<strong>Informations Client</strong><br>

<br><label for="nom">Votre Nom</label>

<br><input class="simple" id="nom" name="nom" type="text" value=""/>

<br>Votre Prénom

<br><input class="simple" id="prenom" size="13" name="prenom" type="text" value=""/>

<br><label for="email">Votre adresse email</label>

<br><input class="simple" id="email" name="email" autocomplete="OFF" type="text" value=""/>

</p>

<p class="produit">

<strong>Informations sur le produit à retourner dans nos services</strong><br>

<br><label for="ref">N° de référence de la montre

<br>(elle se trouve gravée au dos de la montre et se compose de 4 chiffres)</label>

<br><input class="simple" id="ref" name="ref" type="text" value=""/><br>

<br><label for="ref"><strong>Garantie</strong>

<br>(dans le cas où votre montre est encore couverte par la garantie 24 mois,

<br>il est <strong class="orange">impératif de joindre la carte de garantie </strong>qui vous a été délivrée le jour de votre achat)

</label><br>

<br><input id="oui" value="oui" type="radio" name="garantie" /> <label for="oui">Oui</label>

<br><input id="non" value="non" type="radio" name="garantie" /> <label for="non">Non</label><br>

<br><strong>Description de la panne</strong><br>

<br><label for="description panne">Décrire la panne ou les travaux à réaliser sur la montre</label>

<br><textarea id="description panne" tabindex="80" rows="4" cols="40" name="description panne"type="text" value=""></textarea><br>

<br><strong>Renvoyer votre montre</strong><br>

<br>Nous vous recommandons d'utiliser du papier bulle pour emballer votre montre afin qu'elle soit protégée durant le transport et de l'expédier par la Poste en 'Colissimo' à l'adresse ci-dessous :

</p>

<p class="adresse">Service Après-Vente<br>06400 Cannes<br>France</p>

</fieldset>

<p align="center"><input type="submit" value="Envoyez" /></p>

</form>

</body>

</html>

 

et la feuille de style "écran"

 

body {font-family: Arial;

color: #000;

font-size: 14px;

}

form {width: 650px}

fieldset {width: 640px;

border: 1 solid #F60;

padding: 8px;

margin: 3px;

}

.client {padding: 8px;

margin: 3px;

text-align:left;

}

.produit {padding: 8px;

margin: 3px;

text-align:left;

}

.adresse {text-align:center;

font-size: 18px;

}

.simple {background-color: #000;

width: 200px;

height: 30px;

color: #FFF;

}

textarea {background-color: #000;

width: 500px;

height: 200px;

color: #FFF;

}

.orange {color: #C60}

 

Il te restera donc à construire la feuille de style "impression".

Ce sont les balises <link> de la page HTML qui en assurent le lien avec les fichiers feuilles de style.

 

Quelques remarques personnelles d'esthétique … dont tu feras ce que tu voudras ;)

 

Italiques : il est déconseillé d'utiliser les caractères italiques, car ils sont représentés à l'écran de façon peu agréable à l'œil et freinent la vitesse de lecture. Si tu y tiens, tu peux en revanche les utiliser dans la feuille de style "impression" (où la qualité sera excellente).

 

Sérif : il est communément admis que les polices sans sérifs sont plus lisibles à l'écran, et les polices avec sérifs plus lisibles sur papier. Tu pourras donc en jouer dans les feuilles de style !

 

Zones de saisie : je trouve triste et peu esthétique cette saisie en blanc sur fond noir. Je te suggérerais plutôt de donner à ton fieldset une couleur de fond pastel (jaune pâle sur l'écran, par exemple, mais blanc sur impression, ne gâchons pas les cartouches d'encre qui sont si chères), et des zones de saisie en noir sur fond blanc.

 

Récupération des données

 

Oui, au fait, si l'on revenait à la question initiale ? :hein:

Eh bien là, j'arrive à mes limites. Ce que je pense, c'est que si ton visiteur remplit son formulaire, puis appuie sur CTRL+P, il devrait avoir une impression conforme à la feuille de style "impression" (données incluses).

 

Mais je laisse à d'autres le soin de répondre plus précisément.

 

@+ ;)

Dylav

  • Modérateurs
Posté(e)

HTML5 & CSS3

 

Les avancées de ces deux langages ouvrent la voie à une meilleure clarté des données et à de nouvelles possibilités en matière d'esthétisme, y compris pour un formulaire !

 

À ce sujet, tu trouveras – sur l'excellent site Pompage – la traduction de Frédéric Chotard de l'article Formulaires HTML5 : prenez la clé des champs de Inayaili de León. Ça va te donner plein d'idées, j'en suis certain :sourire:

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...