HTML DOM Input DatetimeLocal stepUp( ) Method

The HTML DOM Input DatetimeLocal stepUp() method increases the value of a datetime-local input field by a specified number of minutes. This method provides a programmatic way to increment the datetime value without user interaction.

Syntax

Following is the syntax for the stepUp() method −

inputDatetimeLocalObject.stepUp(number)

Parameters

The stepUp() method accepts the following parameter −

  • number − A numeric value representing the number of steps to increase. This parameter is optional and defaults to 1 if not specified. Each step represents one minute for datetime-local inputs.

Return Value

The stepUp() method does not return any value. It directly modifies the value of the datetime-local input field.

How It Works

When called on a datetime-local input element, the stepUp() method adds the specified number of minutes to the current datetime value. The step size for datetime-local inputs is always 1 minute, so passing a value of 10 will increase the time by 10 minutes.

If the input field has a step attribute defined, the method respects that step value. For example, if step="300" (5 minutes), calling stepUp(2) would increase the time by 10 minutes (2 × 5 minutes).

Example − Basic stepUp Usage

Following example demonstrates the basic usage of the stepUp() method −

<!DOCTYPE html>
<html>
<head>
   <title>Input DatetimeLocal stepUp()</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>DateTime-Local stepUp() Method</h2>
   <label for="datetimeSelect">Select Date and Time:</label><br><br>
   <input type="datetime-local" id="datetimeSelect" value="2024-01-15T10:30"><br><br>
   
   <button onclick="increaseBy5()">Increase by 5 minutes</button>
   <button onclick="increaseBy15()">Increase by 15 minutes</button>
   <button onclick="increaseBy60()">Increase by 1 hour</button><br><br>
   
   <p id="result">Current value: 2024-01-15T10:30</p>
   
   <script>
      var datetimeInput = document.getElementById("datetimeSelect");
      var resultDisplay = document.getElementById("result");
      
      function increaseBy5() {
         datetimeInput.stepUp(5);
         updateDisplay();
      }
      
      function increaseBy15() {
         datetimeInput.stepUp(15);
         updateDisplay();
      }
      
      function increaseBy60() {
         datetimeInput.stepUp(60);
         updateDisplay();
      }
      
      function updateDisplay() {
         resultDisplay.textContent = "Current value: " + datetimeInput.value;
      }
   </script>
</body>
</html>

The example creates three buttons that increase the datetime by different amounts. Each button calls stepUp() with a different parameter value and updates the display to show the current datetime.

Example − stepUp with Custom Step Attribute

Following example shows how stepUp() works with a custom step attribute −

<!DOCTYPE html>
<html>
<head>
   <title>stepUp with Custom Step</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>stepUp() with 15-minute Step Intervals</h2>
   <label for="customStep">Appointment Time (15-minute intervals):</label><br><br>
   <input type="datetime-local" id="customStep" value="2024-06-20T09:00" step="900"><br><br>
   
   <button onclick="nextSlot()">Next Time Slot</button>
   <button onclick="skipTwo()">Skip 2 Slots (30 min)</button><br><br>
   
   <p id="display">Current appointment: 2024-06-20T09:00</p>
   
   <script>
      var appointmentInput = document.getElementById("customStep");
      var display = document.getElementById("display");
      
      function nextSlot() {
         appointmentInput.stepUp(1); // Increases by 1 step = 15 minutes (900 seconds)
         updateAppointment();
      }
      
      function skipTwo() {
         appointmentInput.stepUp(2); // Increases by 2 steps = 30 minutes
         updateAppointment();
      }
      
      function updateAppointment() {
         display.textContent = "Current appointment: " + appointmentInput.value;
      }
   </script>
</body>
</html>

This example uses a step attribute of 900 seconds (15 minutes). When stepUp(1) is called, it increases the time by one step interval (15 minutes).

Example − Error Handling

Following example demonstrates error handling when stepUp() reaches the maximum value −

<!DOCTYPE html>
<html>
<head>
   <title>stepUp Error Handling</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 20px;">
   <h2>stepUp() with Maximum Value</h2>
   <label for="limitedDateTime">Select time (Max: 2024-12-31T23:50):</label><br><br>
   <input type="datetime-local" id="limitedDateTime" value="2024-12-31T23:45" max="2024-12-31T23:50"><br><br>
   
   <button onclick="safeStepUp()">Increase by 10 minutes</button><br><br>
   
   <p id="status">Ready to increment</p>
   
   <script>
      var limitedInput = document.getElementById("limitedDateTime");
      var status = document.getElementById("status");
      
      function safeStepUp() {
         try {
            var oldValue = limitedInput.value;
            limitedInput.stepUp(10);
            status.textContent = "Value increased to: " + limitedInput.value;
         } catch (error) {
            status.textContent = "Error: Cannot increase beyond maximum value (" + oldValue + ")";
            status.style.color = "red";
         }
      }
   </script>
</body>
</html>

When the stepUp() method would cause the value to exceed the maximum allowed value, it throws an error. The example shows proper error handling using try-catch blocks.

Browser Compatibility

The stepUp() method is supported in modern browsers that support HTML5 datetime-local input types. This includes Chrome, Firefox, Safari, and Edge. Internet Explorer does not support datetime-local inputs or the stepUp() method.

Key Points

  • The stepUp() method increases the datetime-local value by the specified number of minutes (or step intervals).

  • If no parameter is provided, it defaults to increasing by 1 step.

  • The method respects the step attribute if defined on the input element.

  • It throws an error if the new value would exceed the max attribute.

  • The method directly modifies the input value and does not return anything.

Conclusion

The stepUp() method provides a convenient way to programmatically increase datetime-local input values. It respects step intervals and maximum values, making it useful for creating time slot selectors, appointment schedulers, and other time-sensitive applications. Always implement proper error handling when the value might reach its maximum limit.

Updated on: 2026-03-16T21:38:53+05:30

131 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements