Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Như bất kỳ nhà phát triển JavaScript dày dạn nào cũng biết, có nhiều cách (quá nhiều) để làm điều tương tự. Ví dụ: giả sử bạn có một trường văn bản như sau:

Có nhiều cách để truy cập điều này trong JavaScript:

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...

Phương pháp [1] và [3] được ghi lại trong tài liệu Gecko Mozilla, nhưng cũng không phải là lý tưởng. [1] quá chung chung để hữu ích và [3] yêu cầu cả ID và tên (giả sử bạn sẽ đăng dữ liệu lên ngôn ngữ phía máy chủ). Lý tưởng nhất, tốt nhất là chỉ có thuộc tính ID hoặc thuộc tính tên (có cả hai đều có phần dư thừa, đặc biệt là nếu ID không cần thiết cho bất kỳ CSS nào và tăng khả năng lỗi chính tả, v.v.).

. theo tiêu chuẩn tuân thủ nhất có thể).

Vậy thực hành tốt nhất ở đây là gì? Bất cứ ai cũng có thể chỉ ra một cái gì đó trong tài liệu DOM hoặc đặc tả W3C có thể giải quyết điều này?

Lưu ý rằng tôi đặc biệt quan tâm đến một giải pháp phi thư viện (jQuery/nguyên mẫu).

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Dednplicator

43,7K6 Huy hiệu vàng62 Huy hiệu bạc110 Huy hiệu đồng6 gold badges62 silver badges110 bronze badges

Đã hỏi ngày 12 tháng 3 năm 2010 lúc 20:07Mar 12, 2010 at 20:07

3

Chỉ đặt biểu mẫu của bạn một ID và chỉ đầu vào của bạn một tên:id only, and your input a name only:


  

Sau đó, cách tuân thủ tiêu chuẩn nhất và ít vấn đề nhất để truy cập phần tử đầu vào của bạn là thông qua:

document.getElementById("myform").elements["foo"]

Sử dụng

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
7 thay vì chỉ
[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
8 là thích hợp hơn vì cái sau có thể trả lại một thuộc tính của biểu mẫu có tên là "foo" thay vì phần tử HTML!

Đã trả lời ngày 11 tháng 2 năm 2014 lúc 20:03Feb 11, 2014 at 20:03

DoindoinDoin

7.1903 Huy hiệu vàng34 Huy hiệu bạc36 Huy hiệu đồng3 gold badges34 silver badges36 bronze badges

21

[1] document.forms [0] .Elements [0];

"Không-omg-không bao giờ!" Hãy nghĩ đến khi tôi thấy phương pháp truy cập phần tử này. Vấn đề với điều này là nó giả định rằng DOM là cấu trúc dữ liệu bình thường (ví dụ: một mảng) trong đó thứ tự phần tử là tĩnh, nhất quán hoặc đáng tin cậy trong dù sao đi nữa. Chúng tôi biết rằng 99,9999% thời gian, rằng đây không phải là trường hợp. Sắp xếp lại hoặc

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
9 các phần tử trong biểu mẫu, thêm một

  
0 khác vào trang trước khi biểu mẫu được đề cập hoặc di chuyển biểu mẫu trong câu hỏi là tất cả các trường hợp mã này bị phá vỡ. Truyện ngắn: Điều này rất mong manh. Ngay khi bạn thêm hoặc di chuyển một cái gì đó, nó sẽ bị phá vỡ.

[2] document.myform.foo;

Tôi với Serge Ilinsky về điều này:

  • Truy cập các yếu tố tùy ý bằng cách tham khảo thuộc tính
    
      
    
    1 của họ:
    
      
    
    2
  • Truy cập các phần tử biểu mẫu được đặt tên theo tên, liên quan đến phần tử mẫu cha mẹ của họ:
    
      
    
    3

Vấn đề chính của tôi với phương pháp này là thuộc tính


  
4 là vô dụng khi được áp dụng cho một biểu mẫu. Tên không được chuyển đến máy chủ như một phần của bài đăng/GET và không hoạt động cho dấu trang kiểu băm.

[3] document.getEuityById ('foo');

Theo tôi, đây là phương pháp thích hợp nhất. Truy cập trực tiếp là phương pháp ngắn gọn và rõ ràng nhất.

[4] document.getEuityById ('myform'). Foo;

Theo tôi, điều này có thể chấp nhận được, nhưng nhiều dòng hơn mức cần thiết. Phương pháp số 3 là thích hợp hơn.


Tôi đã tình cờ xem một video từ Douglas Crockford và anh ấy đã cân nhắc về chính chủ đề này. Điểm quan tâm là ở mức -12: 00. Để tóm tắt:

  • Bộ sưu tập tài liệu (Document.Anchor, Document.Form, v.v.) đã lỗi thời và không liên quan (Phương pháp 1).
  • Thuộc tính
    
      
    
    4 được sử dụng để đặt tên cho mọi thứ, không phải để truy cập chúng. Nó là để đặt tên những thứ như Windows, trường nhập và thẻ neo.
  • "ID là thứ mà bạn nên sử dụng để xác định duy nhất một yếu tố để bạn có thể truy cập vào nó. Chúng (tên và id) từng có thể hoán đổi cho nhau, nhưng chúng không còn nữa."

Vì vậy, bạn có nó. Về mặt ngữ nghĩa, điều này có ý nghĩa nhất.

Đã trả lời ngày 12 tháng 3 năm 2010 lúc 20:45Mar 12, 2010 at 20:45

Justin Johnsonjustin JohnsonJustin Johnson

30,5K7 Huy hiệu vàng63 Huy hiệu bạc87 Huy hiệu đồng7 gold badges63 silver badges87 bronze badges

7

Để truy cập các yếu tố được đặt tên được đặt dưới dạng, đó là một thực tế tốt để sử dụng chính đối tượng


  
0.

Để truy cập một phần tử tùy ý trong cây DOM đôi khi có thể được tìm thấy trong một biểu mẫu, hãy sử dụng


  
7 và phần tử

  
1.

Michael

7.7515 huy hiệu vàng57 Huy hiệu bạc87 Huy hiệu đồng5 gold badges57 silver badges87 bronze badges

Đã trả lời ngày 12 tháng 3 năm 2010 lúc 20:10Mar 12, 2010 at 20:10

Sergey Ilinskysergey IlinskySergey Ilinsky

30.9k9 Huy hiệu vàng54 Huy hiệu bạc56 Huy hiệu Đồng9 gold badges54 silver badges56 bronze badges

5

Tôi rất thích một phương pháp thứ 5. Đó là [5] sử dụng định danh JavaScript đặc biệt này để chuyển biểu mẫu hoặc đối tượng trường cho hàm từ trình xử lý sự kiện.
[5] Use the special JavaScript identifier this to pass the form or field object to the function from the event handler.

Cụ thể, cho các biểu mẫu:


// The form validation function takes the form object as the input parameter
function validateForm(thisForm) {
  if (thisform.fullname.value !=...

Sử dụng kỹ thuật này, chức năng không bao giờ phải biết - thứ tự mà các biểu mẫu được xác định trong trang, - ID mẫu, cũng không - tên biểu mẫu
- the order in which forms are defined in the page,
- the form ID, nor
- the form name

Tương tự, đối với các trường:


...


function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}

Trong trường hợp này, chức năng không bao giờ phải biết tên hoặc ID của một trường trọng lượng cụ thể, mặc dù nó cần phải biết tên của trường giới hạn trọng lượng.

Đã trả lời ngày 1 tháng 5 năm 2013 lúc 22:33May 1, 2013 at 22:33

1

Nó không thực sự trả lời câu hỏi của bạn, nhưng chỉ về phần này:

[3] yêu cầu cả ID và tên ... có cả hai đều có phần dư thừa

Bạn rất có thể cần phải có thuộc tính


  
1 trên mỗi trường biểu mẫu, để bạn có thể liên kết phần tử
document.getElementById("myform").elements["foo"]
0 của nó với nó, như thế này:



Điều này là cần thiết cho khả năng tiếp cận (nghĩa là nếu bạn không liên kết với nhãn và kiểm soát, tại sao bạn ghét người mù đến vậy?).

Nó có phần dư thừa, mặc dù ít hơn khi bạn có các hộp kiểm/nút radio, trong đó một số trong số chúng có thể chia sẻ


  
4. Cuối cùng,

  
1 và

  
4 dành cho các mục đích khác nhau, ngay cả khi cả hai thường được đặt thành cùng một giá trị.

Đã trả lời ngày 12 tháng 3 năm 2010 lúc 21:24Mar 12, 2010 at 21:24

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Paul D. Waitepaul D. WaitePaul D. Waite

94,8K54 Huy hiệu vàng196 Huy hiệu bạc266 Huy hiệu Đồng54 gold badges196 silver badges266 bronze badges

5

Đây là một chút cũ nhưng tôi muốn thêm một điều tôi nghĩ là có liên quan. . Các yếu tố của một biểu mẫu theo tên chứ không phải bằng ID. Tôi không nói về hình thức đó. Biểu mẫu, OK, bạn có thể cung cấp cho nó một ID và sau đó truy cập nó bằng nó. Nhưng nếu bạn có một nút radio ở dạng, việc sử dụng nó như một đối tượng (nhận và đặt giá trị của nó) và bạn chỉ có thể làm điều này theo tên này dễ dàng hơn nhiều.
(I meant to comment on one or 2 threads above but it seems I need reputation 50 and I have only 21 at the time I'm writing this. :) )
Just want to say that there are times when it's much better to access the elements of a form by name rather than by id. I'm not talking about the form itself. The form, OK, you can give it an id and then access it by it. But if you have a radio button in a form, it's much easier to use it as a single object (getting and setting its value) and you can only do this by name, as far as I know.

Thí dụ:


    choice 1
choice 2
choice 3

Bạn có thể nhận/đặt giá trị đã kiểm tra của nút radio R1 nói chung bằng cách sử dụng document.mainform.r1.value hoặc document.getEuityById ("Mainform"). muốn luôn luôn sử dụng phương pháp này, bất kể loại yếu tố hình thức. Tôi, tôi hoàn toàn thoải mái khi truy cập các nút radio theo tên và hộp văn bản theo ID.
document.mainForm.R1.value
or
document.getElementById("mainForm").R1.value
So if you want to have a unitary style, you might want to always use this method, regardless of the type of form element. Me, I'm perfectly comfortable accessing radio buttons by name and text boxes by id.

Đã trả lời ngày 31 tháng 3 năm 2017 lúc 2:58Mar 31, 2017 at 2:58

VsimvsimVSim

1513 Huy hiệu bạc9 Huy hiệu Đồng3 silver badges9 bronze badges

1

Được lỗi thời, tôi luôn sử dụng cú pháp 'document.myform.myvar' nhưng gần đây tôi đã thấy nó thất bại trong Chrome (OK trong Firefox và IE). Đó là một trang ajax (nghĩa là được tải vào thuộc tính bên trong của một div). Có lẽ Chrome không nhận ra biểu mẫu là một yếu tố của tài liệu chính. Tôi đã sử dụng getEuityByid (không tham chiếu biểu mẫu) thay vào đó và nó hoạt động tốt.

Đã trả lời ngày 26 tháng 11 năm 2013 lúc 12:08Nov 26, 2013 at 12:08

1

Câu hỏi cũ, những hiểu biết mới (2021)

Sau khi đọc và học hỏi từ một số câu trả lời tuyệt vời cho câu hỏi này, cần phải quay lại những điều cơ bản và cố gắng lấy thêm dữ liệu về cách

1 và

  
4 được xác định trong nguồn gốc của chúng.to get more data how

  
1 and

  
4 are defined in their origins.

Kết quả là đơn giản và khai sáng. Tôi đang tóm tắt nó dưới đây:. I'm summarizing it below:


  • Thực tế quan trọng nhất là, cho đến nay,
    
      
    
    1 và
    
      
    
    4 rất khác nhau và có mục đích rất khác nhau, đến nỗi chúng được xác định trong các phần riêng biệt của thông số kỹ thuật W3/WhatWG. Nói ngắn gọn:
    , that
    
      
    
    1 and
    
      
    
    4 are so different and have so different purposes
    , that they are defined in separate sections of the W3/WHATWG specifications. In short:
    • 
        
      
      1:
      • được định nghĩa là một phần của đặc tả DOM (Tiêu chuẩn tài liệu web) và không phải là thứ HTML (Ngôn ngữ đánh dấu). Vì vậy,
        
          
        
        1 là dom (tài liệu), không phải html (ngôn ngữ).So,
        
          
        
        1 is DOM (document), not HTML (language)
        .
      • Mục đích của nó có liên quan trực tiếp đến việc xác định duy nhất của một nút trong tài liệu. Do đó, rất phù hợp để truy cập các nút.access nodes.
      • phải là duy nhất
    • 
        
      
      4:
      • được định nghĩa là một phần của thông số kỹ thuật HTML và không phải là và DOM. Do đó,
        
          
        
        4 là HTML (ngôn ngữ), không phải DOM (tài liệu web).Therefore,
        
          
        
        4 is HTML (language), not DOM (web document).
      • Mục đích của nó có liên quan trực tiếp đến việc gửi biểu mẫu - cách cấu trúc biểu mẫu, mã hóa của nó, dữ liệu được gửi đến máy chủ (ví dụ: qua HTTPS), v.v.form submission - how a form is structured, its enctype, the data sent to the server (eg. via https), and so on.

  • Dựa trên dữ liệu trên và một số kinh nghiệm tích lũy với tư cách là nhà phát triển, kết luận chính của tôi là:my main conclusions are:
    1. Sự nhầm lẫn về việc sử dụng
      
        
      
      1 hoặc
      
        
      
      4 để truy cập một phần tử là do một số yếu tố chính:
      about using
      
        
      
      1 or
      
        
      
      4 to access an element is caused by some main factors:
      • Mặc dù phần tử chính được xác định rõ ràng trong đặc tả DOM, nhưng nó không có định nghĩa rất rõ ràng về đặc tả HTML - trong đó đề cập đến không gian tên DOM, XHTML, v.v.element is clearly defined in the DOM specification, it doesn't have a very clear definition on the HTML specification - which refers to DOM, xhtml namespace, etc.
      • Chúng tôi, các nhà phát triển, không thích đào sâu vào các kỹ thuật của các định nghĩa (có thể tôi không cần chi tiết giả định này ở đây), điều này có thể gây ra những hiểu lầm thêm.
      • Do đó, phần tử thuật ngữ được sử dụng rộng rãi để đề cập đến cả thẻ HTML (ví dụ:
        
          
        
        0) và nút DOM (mặc dù thực tế là
        
          
        
        0 là một nút trong DOM, nhưng không phải là ngược lại.)element is widely used to refer both to a HTML tag (eg, a
        
          
        
        0) and a DOM node (despite the fact that a
        
          
        
        0 is a node in the DOM, but not vice-versa.)
      • JavaScript cung cấp một số cách để truy cập mọi thứ trong DOM, bao gồm cả những cách dựa trên công cụ của riêng nó, như (getElementsByTagName, getElementsByName) đòi hỏi một số hành động hậu trường để truy xuất các nút thực tế từ DOM.TagName, getElementsByName) which requires some behind-the-scenes actions to retrieve the actual nodes from the DOM.
      • Một mặt, nó giúp các nhà phát triển dễ dàng truy cập các yếu tố này dễ dàng hơn; Mặt khác, nó che giấu các khái niệm và cấu trúc đang đóng vai trò quan trọng trong bối cảnh cụ thể đó.
      • Cuối cùng, các yếu tố trên tạo ra những nhầm lẫn dẫn đến các câu hỏi cần thiết và thông minh như câu hỏi bắt nguồn toàn bộ chủ đề này.
    2. Sau khi đọc các câu trả lời và nhận xét, thu thập dữ liệu, đã đốt một số tế bào thần kinh bằng cách phân tích dữ liệu và đưa ra kết luận, câu trả lời của tôi cho câu hỏi là::
      • Nếu bạn muốn giữ nó nghiêm ngặt kỹ thuật (và có thể có một số lợi ích trong hiệu suất), thì hãy tìm
        
          
        
        1 bất cứ nơi nào có thể và có ý nghĩa - ví dụ, không có ý nghĩa gì khi thêm
        
          
        
        1 ở khắp mọi nơi; Có lẽ không có ý nghĩa khi sử dụng thuộc tính
        
          
        
        1 trong các loại đầu vào
        
        
        9.
      • Nếu bạn muốn sử dụng tính linh hoạt được cung cấp bởi JavaScript, nhưng giữ những điều tốt nhất từ ​​cả hai thế giới, tôi sẽ đề xuất giải pháp do @doin cung cấp trong chủ đề này.
      • Tôi cũng đánh giá cao yếu tố tiếp cận do @paul-d-waite mang lại. Yếu tố tương tự được khám phá trong câu trả lời này là tốt.
      • Hãy nhớ rằng không phải tất cả những gì bạn có thể nên làm..

References:

  1. HTML -
    
      
    
    4
  2. HTML -
    // The form validation function takes the form object as the input parameter
    function validateForm(thisForm) {
      if (thisform.fullname.value !=...
    
    1
  3. DOM -
    
      
    
    1
  4. DOM -
    // The form validation function takes the form object as the input parameter
    function validateForm(thisForm) {
      if (thisform.fullname.value !=...
    
    1
  5. HTML - Tiêu chuẩn sống - Cập nhật lần cuối ngày 5 tháng 11 năm 2021
  6. DOM - Tiêu chuẩn sống - Cập nhật lần cuối ngày 18 tháng 10 năm 2021

Nó cũng đáng để xem xét phần tử


  
0


Các tài liệu tham khảo khác trong Stackoverflow:

Có phải thuộc tính tên thực sự cần thiết trong HTML?

Sự khác biệt giữa các thuộc tính ID và tên trong HTML


Tiền thưởng: Sự khác biệt ngắn và mát mẻ giữa


  
1 và

  
4, đối với người thiếu kiên nhẫn.

Đã trả lời ngày 7 tháng 11 năm 2021 lúc 1:05Nov 7, 2021 at 1:05

Almir Camposalmir CamposAlmir Campos

2.6261 Huy hiệu vàng28 Huy hiệu bạc26 Huy hiệu đồng1 gold badge28 silver badges26 bronze badges

Chỉ cần thêm vào tất cả mọi thứ đã nói, bạn có thể truy cập vào các ____19 với


  
4 hoặc

  
1 bằng cách sử dụng thuộc tính

...


0 của mẫu đối tượng, bởi vì không có nó, bạn có thể nhận được một thuộc tính của biểu mẫu có tên là "foo" thay vì phần tử HTML. Và theo @Paul D. Waite, hoàn toàn ổn khi có cả tên và ID.

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
0
[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
1

Theo MDN trên trang HTMLformelement.Elements

Các phần tử thuộc tính HTMLformEuity trả về một htmlformControlScollection liệt kê tất cả các điều khiển biểu mẫu có trong phần tử. Độc lập, bạn chỉ có thể có được số lượng điều khiển biểu mẫu bằng cách sử dụng thuộc tính độ dài.

Bạn có thể truy cập một điều khiển biểu mẫu cụ thể trong bộ sưu tập được trả về bằng cách sử dụng chỉ mục hoặc tên hoặc ID của phần tử.name or id.

Đã trả lời ngày 19 tháng 7 năm 2019 lúc 16:02Jul 19, 2019 at 16:02

Tôi thích cái này:

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
2

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Đã trả lời ngày 27 tháng 8 năm 2019 lúc 6:53Aug 27, 2019 at 6:53

2

Thuộc tính


  
4 hoạt động tốt. Nó cung cấp một tham chiếu đến

...


0.


...


3 - sẽ liệt kê tất cả các yếu tố với trường tên của cha mẹ.

...


4 - Sẽ chỉ liệt kê

...


5 như

...


6,

...


7, v.v.

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
3
[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
4

Lưu ý: Để


...


8 hoạt động,

...


9 cần phải là thẻ
function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
0. Trong khi đó,
function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
1 sẽ hoạt động trên bất kỳ phần tử HTML nào - chẳng hạn như
function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
2,
function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
3, v.v.

Đã trả lời ngày 18 tháng 1 năm 2020 lúc 9:48Jan 18, 2020 at 9:48

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

AakashaakashAakash

19.1k6 Huy hiệu vàng93 Huy hiệu bạc75 Huy hiệu Đồng6 gold badges93 silver badges75 bronze badges

1

Để bổ sung các câu trả lời khác, Document.MyForm.foo là cái gọi là DOM Cấp 0, là cách được thực hiện bởi NetScape và do đó không thực sự là một tiêu chuẩn mở mặc dù nó được hỗ trợ bởi hầu hết các trình duyệt.

Đã trả lời ngày 26 tháng 2 năm 2012 lúc 7:13Feb 26, 2012 at 7:13

1

Mẫu 2 là OK, và Mẫu 3 cũng được khuyến nghị.

Sự dư thừa giữa tên và ID là do sự cần thiết phải giữ khả năng tương thích. Trong HTML5, một số yếu tố (như IMG, Form, iframe và như vậy) sẽ mất thuộc tính "tên" của chúng và khuyến nghị chỉ sử dụng ID của chúng để tham khảo chúng từ bây giờ :)

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Đã trả lời ngày 12 tháng 3 năm 2010 lúc 20:16Mar 12, 2010 at 20:16

Wintermutewintermutewintermute

4232 Huy hiệu bạc12 Huy hiệu Đồng2 silver badges12 bronze badges

2

Kiểm tra trang này: document.getElsByMname ()

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
5

Nó phải là 'các phần tử' và phải trả về một mảng, bởi vì nhiều hơn một yếu tố có thể có cùng tên.

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Đã trả lời ngày 12 tháng 3 năm 2010 lúc 20:57Mar 12, 2010 at 20:57

Robertrobertrobert

4.7731 Huy hiệu vàng18 Huy hiệu bạc21 Huy hiệu đồng1 gold badge18 silver badges21 bronze badges

2

Câu trả lời của tôi sẽ khác nhau về câu hỏi chính xác. Nếu tôi muốn truy cập một phần tử nhất định cụ thể, thì tôi sẽ sử dụng document.getEuityById (). Một ví dụ là tính toán tên đầy đủ của một người, bởi vì nó đang xây dựng trên nhiều trường, nhưng nó là một công thức lặp lại.

Nếu tôi muốn truy cập phần tử như một phần của cấu trúc chức năng (một biểu mẫu), thì tôi sẽ sử dụng:

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
6

Đây là cách nó cũng hoạt động từ quan điểm của doanh nghiệp. Những thay đổi trong vòng lặp đi cùng với các thay đổi chức năng trong ứng dụng và do đó có ý nghĩa. Tôi áp dụng nó chủ yếu để xác thực thân thiện với người dùng và ngăn chặn các cuộc gọi mạng để kiểm tra dữ liệu sai. Tôi lặp lại phía máy chủ xác thực (và thêm một số khác vào nó), nhưng nếu tôi có thể giúp phía khách hàng của người dùng, thì điều đó có lợi cho tất cả mọi người.

Để tổng hợp dữ liệu (như xây dựng biểu đồ hình tròn dựa trên dữ liệu trong biểu mẫu), tôi sử dụng các tài liệu cấu hình và các đối tượng JavaScript tùy chỉnh. Thì là ý nghĩa chính xác của lĩnh vực quan trọng liên quan đến bối cảnh của nó và tôi có sử dụng Document.getEuityById ().

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Đã trả lời ngày 29 tháng 11 năm 2013 lúc 7:19Nov 29, 2013 at 7:19

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Loek Bergmanloek BergmanLoek Bergman

2.15220 Huy hiệu bạc18 Huy hiệu đồng20 silver badges18 bronze badges

Bởi vì trường hợp [2]

function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
4 là một phương ngữ từ Internet & nbsp; Explorer.

Vì vậy, thay vì nó, tôi thích

function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
5 hoặc
function checkWeight(theField) {
  if (theField.value > theField.form.maxWeight.value) {
    alert ("The weight value " + theField.value + " is larger than the limit");
    return false;
  }
return true;
}
6.

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Đã trả lời ngày 29 tháng 3 năm 2020 lúc 12:14Mar 29, 2020 at 12:14

Hướng dẫn how do you access form element using javascript? - làm cách nào để bạn truy cập phần tử biểu mẫu bằng javascript?

Làm thế nào để chúng ta truy cập các phần tử của biểu mẫu bằng cách sử dụng đối tượng biểu mẫu trong JavaScript?

The Form Object in HTML DOM is used to represent the HTML < form > element. This tag is used to set or get the properties of < form > element. This element can be accessed by using getElementById() method.

Làm cách nào để nhận dữ liệu biểu mẫu với JavaScript?

Chúng ta có thể tạo FormData (Mẫu) mới từ biểu mẫu HTML hoặc tạo một đối tượng mà không có biểu mẫu, sau đó nối các trường bằng các phương thức: formData.ốp sắt (tên, giá trị) formData ...
formdata.Xóa (Tên).
formdata.Nhận (Tên).
formData.has(name).

Làm cách nào để nhận được giá trị của một yếu tố biểu mẫu?

Làm thế nào để có được giá trị của một phần tử biểu mẫu bằng JavaScript..
otext = oform.elements ["text_element_name"];Hoặc oText = oform.elements [index];....
oform = document.forms [index];....
Text_val = otext.value;....
....
name = oform.elements ["name"]. Giá trị ;.

Làm thế nào để chúng ta truy cập các yếu tố của một biểu mẫu bằng cách sử dụng đối tượng biểu mẫu trong JavaScript một cách não?

Answer:..
Tìm hiểu nhiều yếu tố có trong một yếu tố cụ thể ..
[INDEX] Nhận giá trị của các phần tử đầu tiên, (chỉ mục 0) ở dạng ...
nameditem...
Vòng lặp qua các phần tử ở dạng và đầu ra giá trị của từng phần tử ..