This is my HTML and JavaScript:
var seq = 0; // var d = new Date(); var dateObj = new Date(); var month = dateObj.getUTCMonth() + 1; //months from 1-12 var day = dateObj.getUTCDate(); var year = dateObj.getUTCFullYear(); newdate = day + "/" + month + "/" + year; function myFunction() { // Increment the value seq += 1 // The string value that will be displayed var value = ''; // If sequence is less than 10, prefix with 000 if (seq < 10) { value = '00' + seq + "-" + newdate; } // If sequence is less than 100, prefix with 00 else if (seq < 100) { value = '0' + seq + "-" + newdate; } // If sequence is less than 1000, prefix with 0 else if (seq < 1000) { value = '' + seq + "-" + newdate;; } // Otherwise, just use the value directly else { value = seq; } // Display the formatted value (ie prefixed with 0's) document.getElementById("demo").value = value; }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Ramndom Number Auto - generate based on current date</title> <script src="randomdate.js"></script> </head> <body> <input type="checkbox" name="alegeT" id="alegeT"><label for="alegeT">Tricouri</label><input type="checkbox" name="alegeP" id="alegeP"><label for="alegeP">Prod</label> <h1>This is a simple application that helps you to generate a random number based on current date</h1> <button onclick="myFunction()">Try it</button> <input id="demo" type="text"> </body> </html>
so as you can see in the HTML I have 2 check boxes so when I choose the checkbox “tricouri” I want to get generate a number like this:
value = “T” + ’00’ + seq + “-” + newdate;
and when I choose “Prod” I want to get a number like this:
value = “P” + ’00’ + seq + “-” + newdate;
Advertisement
Answer
I recommend you start with learning HTML first before you start diving deep in JavaScript. I made this rather messy example for you to give you an idea.
- I think you want to use radiobuttons instead of checkboxes.
// var d = new Date(); var dateObj = new Date(); var month = dateObj.getUTCMonth() + 1; //months from 1-12 var day = dateObj.getUTCDate(); var year = dateObj.getUTCFullYear(); var newdate = day + "/" + month + "/" + year; var seq = 0; // initiate and declare seq function myFunction(event) { //prevent default event.preventDefault(); // Increment the value seq += 1; //fetch the first prefix let prefix = event.currentTarget.form.querySelector( "[data-type='selection']:checked" ).value; //adds some 0's before seq and only fetch the needed ones let zeros = `0000000${seq}`.substr(-4); //glue it up let value = `${prefix}-${zeros}-${newdate}`; // Display the formatted value (ie prefixed with 0's) event.currentTarget.form.querySelector("#demo").value = value; }
<!-- inputs belong in a form or iputs are given the form attribute --> <form> <input type="radio" name="choice" id="alegeT" data-type="selection" checked="checked" value="T"> <label for="alegeT">Tricouri</label> <input type="radio" name="choice" id="alegeP" data-type="selection" value="P"> <label for="alegeP">Prod</label> <h1>This is a simple application that helps you to generate a random number based on current date</h1> <button onclick="myFunction(event)">Try it</button> <input id="demo" type="text"> </form>