如何在HTML中使用月份输入类型?
in html, a form comprises of various elements which helps in making a user interface in a web page. using which we can collect different nature of nature.
One of the commonly used control is Month control i.e.
这个控件基本上为用户提供了一个类似日历的下拉菜单,用户可以从中选择或选择月份和年份。 月份 控件允许您以 YYYY-MM 的格式选择日期,其中 YYYY 表示年份,MM 表示月份。
让我们来看一个简单的示例,使用Month控件。
立即学习“前端免费学习笔记(深入)”;
示例
<html><body> <form name="form1"> <label for="adm">Date of Admission:</label> <input type="month" name="doa"> </form></body></html>
Executing the code given above, a month control will be displayed on the page.
When you click on the calendar icon on the right side of the control, it will open the complete month calendar like this −
一旦下拉菜单打开,您可以从日历中选择月份和年份,或者您可以在控件中输入月份和年份。
Once the month and year is selected, it will get stored in String type of value.
Let us create a program to display the selected month and year from the control using JavaScript.
Example
<html><head> <title>Admission Form</title> <script> function display(){ d=form1.doa.value; document.write("<center><b>Date of Admission is "+d +"</b></center>"); } </script> <form name="form1"> <label for="adm">Date of Admission:</label> <input type="month" name="doa" onchange="display()"> </form><html>
In this program, we have used tag to write JavaScript code in which a function is created to display the selected month when onchange() event is triggered. onchange event will be fired when a date value is selected from the control. document.write() will display the value on the next page. We have displayed the date of admission in the formatted output by using formatting tags.
It is displaying date value in YYYY-MM format.
我们还可以在点击提交按钮时显示输出。在这种情况下,我们将使用提交按钮的onclick()事件,而不是onchange()。
示例
<html><head> <title>Admission Form</title> <script> function display(){ d=form1.doa.value; document.write("<center><b>Date of Admission is "+d +"</b></center>"); } </script> <form name="form1"> <label for="adm">Date of Admission:</label> <input type="month" name="doa"> <br> <input type="submit" value="Submit" onclick="display()"> </form><html>
We can also set the default value of month and year which should be displayed when the web page gets loaded in the browser. To do so, we can use value attribute in tag.
Example
<html><body> <form> <p> Select a month: <input type="month" name="selectedmonth" value="1980-12"> <br> <input type="submit" value="Send data"> </p> </form></body></html>
Once this program is executed, it will show “December, 1980” as the default value in the month control.
接下来是非常有趣的部分,那就是设置日期范围,这意味着用户只能输入范围内的日期值,否则程序将显示错误消息。
示例
<html><body> <form> <p> Select a month: <input type="month" name="selectedmonth" value="1980-12" min="1980-12" max="1981-11"> <br> <input type="submit" value="Send data"> </p> </form></body></html>
In this program, you can observe that only December month (year 1980) is active and others are disabled and similarly when you type the year 1981, it will show you months upto November because we have set the range.
If user types the invalid month or year name, it will show an error message like this −
We can also make use of step attribute using which we can skip few months for the given year while setting the date range. Look at the example shown below of an event registration form where assuming that a particular event is falling under specific months.
Example
<html><body> <form name="form1"> <table> <tr> <td><label for="adm">Choose Event :</label></td> <td><select name="event"> <option>Live Concert <option>Olympics in Beijing <option>World Series(Baseball) </select> </td> </tr> <tr> <td> <label for="adm">Available Event Dates:</label></td> <td><input type="month" name="eventdate" step="3"></td> </tr> <tr> <td></td><td><input type="submit" value="Submit"></td> </tr> </form></body></html>