HTML PushButton name Property: Button Name
The name property in HTML for a <button> element specifies a name for the button. This name is used when submitting form data to identify which button was used to submit the form. When a form is submitted, the name-value pair of the submitting button is sent to the server. This is particularly useful when you have multiple submit buttons in a form, and you need to know which one was clicked.
Purpose of the name Property
The primary purpose of the name property is to:
- Identify the specific button that was used to submit a form.
- Allow server-side scripts to handle different button actions based on the submitted name-value pair.
- Differentiate between multiple submit buttons within the same form.
Syntax
The syntax for using the name property in an HTML <button> element is straightforward:
<button name="buttonName" type="submit">Click Me</button>
Here, "buttonName" is the name you assign to the button. When the form is submitted, the server receives buttonName=value, where value is the button’s value attribute (or an empty string if the value attribute is not specified).
Attributes
The name property has the following characteristics:
| Attribute | Value | Description |
|---|---|---|
| `name` | Text | Specifies the name of the button, used when submitting form data. |
Basic Example
In this example, we have a simple form with a submit button that has a name attribute.
<form id="myFormBasic" action="/submit" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username" /><br /><br />
<button name="submitButton" type="submit" value="submit">Submit</button>
</form>
In this case, when the form is submitted, the server will receive the submitButton=submit pair along with the username.
Using Multiple Submit Buttons
Here’s an example demonstrating multiple submit buttons with different name and value attributes.
<form id="myFormMultiple" action="/submit" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username" /><br /><br />
<button name="saveButton" type="submit" value="save">Save</button>
<button name="cancelButton" type="submit" value="cancel">Cancel</button>
</form>
If the “Save” button is clicked, the server receives saveButton=save. If the “Cancel” button is clicked, it receives cancelButton=cancel.
JavaScript Interaction
You can access and modify the name property of a button using JavaScript.
<button id="myButtonJs" name="initialButton" type="submit">Click Me</button>
<script>
const buttonJs = document.getElementById("myButtonJs");
console.log("Initial name: " + buttonJs.name); // Output: Initial name: initialButton
buttonJs.name = "newButtonName";
console.log("New name: " + buttonJs.name); // Output: New name: newButtonName
</script>
This example demonstrates how to dynamically change the name property of a button using JavaScript.
Real-World Example: Handling Different Form Actions
Consider a scenario where you have a form with multiple actions, such as “Save,” “Update,” and “Delete.” Each button can have a different name and value to indicate the action to be performed on the server.
<form id="myFormActions" action="/data" method="post">
<input type="hidden" id="dataId" name="dataId" value="123" />
<label for="dataValue">Data Value:</label>
<input type="text" id="dataValue" name="dataValue" /><br /><br />
<button name="action" type="submit" value="save">Save</button>
<button name="action" type="submit" value="update">Update</button>
<button name="action" type="submit" value="delete">Delete</button>
</form>
In this example, the server can determine the action to perform based on the value of the action parameter (save, update, or delete).
Tips and Notes
- Always provide a meaningful name for your buttons to help with server-side processing. 📌
- If a button doesn’t have a
nameattribute, its data will not be submitted with the form. ⚠️ - Use the
valueattribute in conjunction with thenameattribute to provide specific instructions to the server. 💡 - JavaScript can dynamically modify the
nameproperty, allowing for more complex interactions. ✅
Conclusion
The name property of the HTML <button> element is essential for identifying which button was used to submit a form. It allows server-side scripts to handle different button actions based on the submitted name-value pair. Understanding and utilizing the name property effectively is crucial for creating dynamic and responsive web forms.








