Questions sur le html

Nouvelle question :
Est-ce possible de faire un "submit" (dans un formulaire) avec une instruction JavaScript ?
Si oui, comment ?

Merci !

Un submit effectue une requête POST par défaut (ou GET si spécifié dans l'attribut method)

En JavaScript tu peux utiliser un objet XMLHttpRequest pour faire cette requête ou bien an JQuery le faire par $.post() ou $.get()

Je m'explique :
J'aimerais remplacer un bouton "submit" par un bouton normal qui renvoie vers une fonction JavaScript qui vérifie si une case est cochée, si oui -> faire un "submit"; sinon -> faire une "alert();" sans "submit".

barbudor:
En JavaScript tu peux utiliser un objet XMLHttpRequest pour faire cette requête ou bien an JQuery le faire par $.post() ou $.get()

Lequel des deux est le plus simple ?
Qu'est-ce que $ ? Le nom du formulaire ?
Que mettre entre les parenthèses ?
Comment faire avec XMLHttpRequest ?

J'ai bien compris ta demande
XMLHttpRequest est utilisé dans mon exemple Barbudor
$.post() $.get() sont des API Ajax de JQuery. Voir la doc et les différents tutoriaux sur JQuery.

J'ai besoin d'explications :
Dans $.post() je ne vois rien pour définir le formulaire à envoyer et l'URL (mailto dans mon cas) est déjà dans la balise .
XMLHttpRequest sert à demander quelque chose, non ?
:cold_sweat:
H
E
L
P

!
!
!

Nouvelle question :
Comment définir si un lien dans un "iframe" s'ouvre : dans le "iframe"; à la place du document contenant le "iframe" ou dans un nouvel onglet ?
Merci !

Reprend les bases : qu'est-ce qu'un formulaire ?

Un formulaire est un ensemble de champs et un bouton submit.
Quand tu cliques sur le bouton submit, le navigateur génère une requête POST ou GET vers le serveur.
La requête comprend l'ensemble des champs sous la forme "nomchamp=valeur" séparés par des '&'

Il faut donc construire la requête pour passer les champs, soit dans l'URL pour un GET :
GET /monscript?champ1=val1&champ2=val2&champ3=val3

Soit comme donnée dans le cas du POST.

Donc dans ton cas, tu vas simuler le submit en créant la bonne requête.

Note: je me place toujours dans le cas de page dynamique sans rechargement où tout est géré par JavaScript.
Si tu veux simplement ajouter une validation à un formulaire et que le rechargement de la page ne te pose pas de problème, alors regarde là : http://www.w3schools.com/js/js_form_validation.asp

Pour le premier cas, sans rechargement de page, un peu de Google et je trouve ca : Create a Ajax based Form Submission with jQuery

Je te conseilles vivement aussi de te mettre à Wireshark pour espionner un peu ce qui se passe entre serveur et navigateur.

Donc, au , je rajoute onsubmit="return nom_de_la_fonction", je met dans un script

function nom_de_la_fonction {
var case = emplacement_de_la_case;
if(case != valeur_de_la_case) {
  alert("blablabla");
  return false;
}

et je garde mon bouton submit.

Liens internes (#) ne marchent pas !
J'ai transformé des balises en et intégré des liens
ne peut avoir de name="" ou il y a un autre problème ?

bonjour,
la balise n'a pas de nom comme


elles ne sont que pour la mise en forme de mots.
ne pas confondre avec les "class" ou "
"

Je met donc texte ?
Est-ce que peut avoir un href ?

http://www.w3schools.com/js/js_form_validation.asp
Ça marche avec leur code et pas le mien =( !
Des conseils ?

Merci !

Revoir vert reply#75 S.V.P..

la balise <a.....> est là pour un lien, donc tu dois avoir
Cliquez pour google

tu confonds pas mal de choses entre les liens, formulaires, html, javascript.
en plus, tu rajoute des functions.
pose toi 5mn, fais un formulaire simple, et analyse.

Validation: n'aurais tu pas oublié les () après le nom de la fonction ?
Je remet le code de W3School :

<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">

et

function validateForm()
{
}

Pour le reste :
la balise est tag de mise en forme, il ne peut pas avoir de href, ca n'a aucun sens : HTML b Tag

la balise a 2 formes : HTML a tag

  • hyperlien : Une avec href pour désigner un lien vers un autre élément et dans ce cas il lui faut un href de destination et on encadre l'élément qui sert d'hyperlien entre et
 <a href='#2ndpar'>Aller au 2nd paragrahe</a>
  • ancre : un label de destination pour un #xxxx dans ce cas il n'y a pas de href ni de fermeture mais un attribut name
  <a name='2ndpar'><h2>Paragraphe 2</h2>

In HTML 4.01, the tag could be either a hyperlink or an anchor.

infobarquee:
Cliquez pour google

alt="google" ?

Je mélange tout car je croyais que était une balise de mise en forme sans caractéristique...
Maintenant, tout est droit car je sais qu'elle a une utilité !
Merci !

Sinon, j'avais bien les parenthèses après le nom de la fonction mais ça ne marche pas...
Je crois que l'adresse du "checkbox" est fausse, un autre conseil ?

exact barbudor
il manque les () et un } pour terminer la function.

EDIT
alt et title permettent d'afficher une "infobulle" pour donner un texte plus explicite que juste le lien.
alt ne fonctionne pas forcément sous FF, donc en mettant title, cela s'affichera aussi en passant la souris.

FF = Firefox ?
Si oui, dommage, mais merci, je mettrai des title dans mes pages, comme ça, j'aurai appris à faire des infobulles par hasard !
Quelle est la différence entre title et alt (sauf la compatibilité avec "FF") ?

Revoir vert reply#75 S.V.P..

Ca part un peu dans tout les sens
Comment veux tu qu'on ne rate pas pas une de tes questions quand tu en balance tant XD

Comment définir si un lien dans un "iframe" s'ouvre : dans le "iframe"; à la place du document contenant le "iframe" ou dans un nouvel onglet ?

Si tu es responsable du contenu du iframe, en utilisant target="_self" (qui est la valeur par défaut)
Si tu n'es pas responsable du contenu du iframe et que les liens utilisent target="_blank" je penses que tu ne peux rien faire.

Et si tu cherchais un peu plus aussi ?
90% de ce que tu demandes est documenté sur W3School ou l'un des nombreux site de formation HTML.

J'ai essayé plusieurs choses avec jQuery, mais j'abandonne...
J'ai trouvé autre chose, qui n'a aucun rapport mais qui répond à mes besoins.
Maintenant, je vais étudier les cookies.
Je reposerai une question en cas d'incertitude ou de dysfonctionnement !

Revoir Reply#84 S.V.P..
Title = Alt ?

numero_744:
Lorsque j'entre document.writeln(*); la page se recharge avec comme code HTML *.
Je cherchais à ajouter du texte à la fin de la page, et non à remplacer le code HTML !!!
Si vous avez un quelconque remède, merci de m'en faire part.


If you execute document.write after the document has finished loading, the entire HTML page will be overwritten

Ca, ca semble correspondre à ce que tu cherche.

Il a un

qui est vide au début
Puis il ajoute des childs qui viennent s'ajoute à la suite, comme une console.

Merci barbudor, j'avais pensé à un

, mais avec

function ajouter(mydiv, blabla) {
  document.getElementById('mydiv').innerHTML = document.getElementById('mydiv').innerHTML + blabla;
}

Je crois que l'on ne peut obtenir le contenu d'un

avec le même code que pour écrire dedans, donc j'utiliserais ta solution

J'ai re-regardé ton JSON, je connais les browsers des utilisateurs (Firefox), donc avec
document.getElementById('exemple').innerHTML = new XMLHttpRequest().reponseText;

J'ai la réponse entière JSON.

Maintenant, des "Pourquoi ?" :

  • new XMLHttpRequest().open("GET", "URL", true); et send(); sont à la fin ?
  • onLoad="initialize()" -> update() et non onLoad="update()" ?
  • et non
    ?

Bref, j'ai (encore) besoin d'explications... Et w3school ne dit pas grand chose à ce sujet...

P.S. : Comment envoyer depuis une Arduino ces valeurs ?