Home Web Front-end HTML Tutorial How to process a form and make text boxes such as input read-only and non-editable

How to process a form and make text boxes such as input read-only and non-editable

Mar 18, 2017 am 11:23 AM
input

Method 1: onfocus=this.blur()

<input type="text" name="input1" value="中国" onfocus=this.blur()>
Copy after login

Method 2: readonly

<input type="text" name="input1" value="中国" readonly> 
<input type="text" name="input1" value="中国" readonly="true">
Copy after login

Method 3: disabled

<input type="text" name="input1" value="中国" disabled>
Copy after login

Both Readonly and Disabled can prevent users from changing the content in the form field. But there are slight differences between them, which are summarized as follows:
Readonly is only valid for input (text/password) and textarea, while disabled is valid for all form elements, but after the form element uses disabled, when we use If the form is submitted by POST or GET, the value of this element will not be passed out, but readonly will pass the value out (readonly accepts value changes and can return them, disable accepts changes but does not return data).
Generally common situations are:
A unique identification code is pre-filled in a form for the user, and the user is not allowed to change it, but the value needs to be passed when submitting. At this time, its attributes should be Set to readonly.
It is often encountered that when a user formally submits a form and needs to wait for information verification by the administrator, the user is not allowed to change the data in the form, but can only view it. Since disabled has a large range of elements, so at this time Disabled should be used, but at the same time it should be noted that the submit button should also be disabled, otherwise as long as the user presses this button, if there is no integrity check in the database operation page, the values ​​in the database will be cleared. If readonly is used instead of disabled in this case, it is still possible if there are only input (text/password) and textarea elements in the form. If there are other elements, such as select, the user can rewrite the value and press Press the Enter key to submit (Enter is the default submit trigger button)
We often use JavaScript to disable the submit button after the user presses the submit button. This can prevent users from repeatedly clicking in an environment with poor network conditions. Submit buttons cause data to be redundantly stored in the database.
The two attributes disabled and readonly have something in common. For example, if both are set to true, the form attribute cannot be edited. It is often easy to mix these two attributes when writing js code. In fact, there is a difference between them. There is a certain difference:
If the disabled of an input item is set to true, the form input item cannot obtain focus, and all user operations (mouse clicks and keyboard input, etc.) are invalid for the input item. The most important point is When the form is submitted, this form input will not be submitted.
Readonly is only for input items such as text input boxes that can input text. If set to true, the user just cannot edit the corresponding text, but can still focus, and when submitting the form, the input item will be used as A submission of the form.

Some performance issues:
The difference between display: none and visibility:hidden is that visibility:hidden will retain the space of the element
repaint (redraw), repaint When a change occurs, the appearance of the element is changed, and it occurs without changing the layout. For example, changing the outline, visibility, and background color will not affect the rendering of the DOM structure.
reflow (rendering), the difference from repaint is that it will affect the rendering of the dom structure, and at the same time it will trigger repaint, it will change itself and all parent elements (ancestors), this overhead is very expensive, resulting in performance The decline is inevitable, and the more page elements there are, the more obvious the effect will be.
So display:none will generate reflow
visibility:hidden will only trigger repaint

Related articles:

js sets the input text box read-only

Set all form objects as read-only through js

Use js to dynamically control the read-only attribute of the input box

The above is the detailed content of How to process a form and make text boxes such as input read-only and non-editable. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to implement laravel input hidden field How to implement laravel input hidden field Dec 12, 2022 am 10:07 AM

How to implement the laravel input hidden field: 1. Find and open the Blade template file; 2. Use the method_field method in the Blade template to create a hidden field. The creation syntax is "{{ method_field('DELETE') }}".

How to encapsulate input components and unified form data in vue3 How to encapsulate input components and unified form data in vue3 May 12, 2023 pm 03:58 PM

Preparation Use vuecreateexample to create a project. The parameters are roughly as follows: use native input. Native input is mainly value and change. The data needs to be synchronized when changing. App.tsx is as follows: import{ref}from'vue';exportdefault{setup(){//username is the data constusername=ref('Zhang San');//When the input box changes, synchronize the data constonInput=;return( )=>({

What to do if there is no cursor when clicking on the input box What to do if there is no cursor when clicking on the input box Nov 24, 2023 am 09:44 AM

Solutions for clicking the input box without a cursor: 1. Confirm the focus of the input box; 2. Clear the browser cache; 3. Update the browser; 4. Use JavaScript; 5. Check the hardware device; 6. Check the input box properties; 7. Debug JavaScript code; 8. Check other elements of the page; 9. Consider browser compatibility.

Detailed explanation of input box binding events in Vue documents Detailed explanation of input box binding events in Vue documents Jun 21, 2023 am 08:12 AM

Vue.js is a lightweight JavaScript framework that is easy to use, efficient and flexible. It is one of the most popular front-end frameworks currently. In Vue.js, input box binding events are a very common requirement. This article will introduce the input box binding events in the Vue document in detail. 1. Basic concepts In Vue.js, the input box binding event refers to binding the value of the input box to the data object of the Vue instance, thereby achieving two-way binding of input and response. In Vue.j

How to use the input box carriage return event and verification function in the Vue document How to use the input box carriage return event and verification function in the Vue document Jun 20, 2023 am 09:13 AM

Vue is a popular JavaScript front-end framework with a responsive data binding and component system at its core. In Vue applications, the input box is one of the most commonly used UI elements. When the user enters text, we hope to listen for the carriage return event and validate the input before submitting. This article will introduce the input box enter event and verification function usage in the Vue document. 1. The carriage return event of the input box in Vue. Monitoring the carriage return event of the input box in Vue is very simple.

Get input from the user using Python's input() function Get input from the user using Python's input() function Aug 22, 2023 am 11:21 AM

Title: Using Python's input() function to get input from the user When writing a program, you often need to get input from the user. Python provides a built-in function input() that can be used to obtain and receive user input. This article will introduce how to use the input() function and some common application scenarios. The input() function is very simple to use. It accepts an optional prompt message as a parameter and waits for user input. After the user inputs, the input() function will return a

How can we add a single line input field in HTML? How can we add a single line input field in HTML? Aug 20, 2023 pm 05:45 PM

Use the &lt;isindex&gt; tag to add a single-line input field. The HTML&lt;isindex&gt; tag is used to query documents via text fields. This tag can be used anywhere, but is best placed in the head tag. NOTE: This is a deprecated tag and should not be used. Following is the list of properties − Property Value Description Prompt String Text field Label ActionURL Use example when you need to send query to different URL Try the following code − &lt;!Doctypehtml&gt;&lt;html

What is the input method in laravel What is the input method in laravel Jul 11, 2023 am 09:43 AM

The input method in laravel is a very practical tool that can easily obtain the parameters in the HTTP request. Whether it is GET, POST or other HTTP request methods, it can be easily processed. In laravel development, input validation and parameter processing are very common tasks, and the input method can greatly simplify these processes and improve development efficiency.

See all articles