11484 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

dans le cadre d'un simulateur je dois ajouter des dates à une valeur (date) rentrée à un input pour avoir chaque date d'étape.

Par exemple :
J : Date de procréation dans mon champ input
J+2 : date d'analyses sanguines
J+30 : mise bas
J+40 : socialisation

J'essaie de faire fonctionner ce code mais en vain...

<form action="#">
      <input type="date" id="date" /><br /><br />
      <input type="button" onClick="valenter();" value="Click Me" />
      
      
    </form>
    test :
    <span id="fin"></span>


 <script type="text/javascript">
                    function valenter(condition) {
                    var maDate = document.getElementById("date");    
                    var dat = new Date();
                    dat.setDate(maDate.getDate() + 5);

                    if(dat ) $('#fin').replaceWith("<span id='fin'><div id='clearfloat'></div> Saisie incorrecte</span>");
</script>


Merci pour votre aide car je sais que je touche du doigts le processus mais je ne comprends pas où ça bloque.
Modifié par Lettynoo (08 Apr 2019 - 11:56)
Salut
Tu dois avoir une erreur dans la console de ton navigateur. Regarde ce quelle te dit

normalement elle te dit "Unexpected end of input" car tu n'as pas fermé ta fonction.
J'ai fait des modifs et j'arrive au même soucis

function lol() {
        var youpi = document.getElementById("date");
         var dat = new Date();
         dat.setDate(youpi.getDate()+5);
         var date = new Date(dat);

                    }


Il me dit que youpi n'est pas une fonction... C'est pourtant ma date de Youpi dans le input qui doit être utilisée.
oui car youpi est un string, pas une date, il faut le transformer en date véritablement.
C'est bon j'ai trouvé Smiley smile

function lol() {
        var myDate = document.getElementById("date").value;
        var youpi = new Date(myDate);
        var dat = new Date(myDate); // pour se fixer sur la date de base et non sur la date du jour.
         dat.setDate(youpi.getDate()+5);
         var superDate = new Date(dat);
 }