Hướng dẫn can you submit forms using javascript? - bạn có thể gửi biểu mẫu bằng javascript không?

Tôi đã đưa ra một quyết tâm dễ dàng bằng cách sử dụng một hình thức đơn giản ẩn trên trang web của mình với cùng thông tin mà người dùng đã đăng nhập. Ví dụ: Nếu bạn muốn người dùng đăng nhập vào biểu mẫu này, bạn có thể thêm một cái gì đó như thế này vào biểu mẫu sau đây.


Cho đến nay tôi biết tôi là người đầu tiên ẩn biểu mẫu và gửi nó qua việc nhấp vào liên kết. Có liên kết gửi một biểu mẫu ẩn với thông tin. Sẽ không an toàn 100% nếu bạn không thích phương thức đăng nhập tự động trên trang web của mình với mật khẩu đang ngồi trên khu vực văn bản mật khẩu biểu mẫu ẩn ...

Được rồi, vì vậy đây là công việc. Hãy để nói

$hidden_forum = '

    
    
';
1 là tài khoản và
$hidden_forum = '

    
    
';
2 là mật khẩu.

Đầu tiên làm biểu mẫu trong tập lệnh PHP của bạn. Nếu bạn không thích HTML trong đó, hãy sử dụng dữ liệu tối thiểu và sau đó

$hidden_forum = '

    
    
';
3 trong giá trị ở dạng ẩn. Tôi chỉ sử dụng giá trị PHP và tiếng vang ở bất cứ nơi nào tôi muốn pref bên cạnh nút biểu mẫu vì bạn không thể thấy nó.

Mẫu PHP để in

$hidden_forum = '

    
    
';

PHP và liên kết để gửi biểu mẫu


Forum

Forum 0.

  • Sử dụng
    
    
    Forum
    0 liên kết với phần tử
    
    
    Forum
    2.
  • Hãy nhìn vào họ một cách chi tiết.

    Xây dựng một xmlhttprequest theo cách thủ công

    $hidden_forum = '
    
        
        
    ';
    
    4 là cách an toàn và đáng tin cậy nhất để thực hiện các yêu cầu HTTP. Để gửi dữ liệu biểu mẫu với
    $hidden_forum = '
    
        
        
    ';
    
    4, hãy chuẩn bị dữ liệu bằng cách mã hóa URL và tuân thủ các chi tiết cụ thể của các yêu cầu dữ liệu biểu mẫu.

    Hãy xem xét một ví dụ:

    Click Me!
    

    Và bây giờ JavaScript:

    const btn = document.querySelector['button'];
    
    function sendData[data] {
      console.log['Sending data'];
    
      const XHR = new XMLHttpRequest[];
    
      const urlEncodedDataPairs = [];
    
      // Turn the data object into an array of URL-encoded key/value pairs.
      for [const [name, value] of Object.entries[data]] {
        urlEncodedDataPairs.push[`${encodeURIComponent[name]}=${encodeURIComponent[value]}`];
      }
    
      // Combine the pairs into a single string and replace all %-encoded spaces to
      // the '+' character; matches the behavior of browser form submissions.
      const urlEncodedData = urlEncodedDataPairs.join['&'].replace[/%20/g, '+'];
    
      // Define what happens on successful data submission
      XHR.addEventListener['load', [event] => {
        alert['Yeah! Data sent and response loaded.'];
      }];
    
      // Define what happens in case of error
      XHR.addEventListener['error', [event] => {
        alert['Oops! Something went wrong.'];
      }];
    
      // Set up our request
      XHR.open['POST', '//example.com/cors.php'];
    
      // Add the required HTTP header for form data POST requests
      XHR.setRequestHeader['Content-Type', 'application/x-www-form-urlencoded'];
    
      // Finally, send our data.
      XHR.send[urlEncodedData];
    }
    
    btn.addEventListener['click', [] => {
      sendData[{ test: 'ok' }];
    }]
    

    Đây là kết quả trực tiếp:

    Sử dụng xmlhttprequest và đối tượng formData

    Xây dựng một yêu cầu HTTP bằng tay có thể là quá sức. May mắn thay, đặc tả XMLHTTPREQUEST cung cấp một cách mới hơn, đơn giản hơn để xử lý các yêu cầu dữ liệu biểu mẫu với đối tượng

    
    
    Forum
    0.

    Đối tượng

    
    
    Forum
    0 có thể được sử dụng để xây dựng dữ liệu biểu mẫu để truyền hoặc để lấy dữ liệu trong một yếu tố biểu mẫu để quản lý cách gửi.

    Sử dụng đối tượng này được chi tiết trong việc sử dụng các đối tượng FormData, nhưng đây là hai ví dụ:

    Sử dụng một đối tượng formdata độc lập

    Click Me!
    

    Bạn nên quen thuộc với mẫu HTML đó. Bây giờ cho JavaScript:

    const btn = document.querySelector['button'];
    
    function sendData[data] {
      const XHR = new XMLHttpRequest[];
      const FD = new FormData[];
    
      // Push our data into our FormData object
      for [const [name, value] of Object.entries[data]] {
        FD.append[name, value];
      }
    
      // Define what happens on successful data submission
      XHR.addEventListener['load', [event] => {
        alert['Yeah! Data sent and response loaded.'];
      }];
    
      // Define what happens in case of error
      XHR.addEventListener['error', [event] => {
        alert['Oops! Something went wrong.'];
      }];
    
      // Set up our request
      XHR.open['POST', '//example.com/cors.php'];
    
      // Send our FormData object; HTTP headers are set automatically
      XHR.send[FD];
    }
    
    btn.addEventListener['click', [] => {
      sendData[{ test: 'ok' }];
    }];
    

    Đây là kết quả trực tiếp:

    Sử dụng xmlhttprequest và đối tượng formData

    Xây dựng một yêu cầu HTTP bằng tay có thể là quá sức. May mắn thay, đặc tả XMLHTTPREQUEST cung cấp một cách mới hơn, đơn giản hơn để xử lý các yêu cầu dữ liệu biểu mẫu với đối tượng

    
    
    Forum
    0.

    Đối tượng

    
    
    Forum
    0 có thể được sử dụng để xây dựng dữ liệu biểu mẫu để truyền hoặc để lấy dữ liệu trong một yếu tố biểu mẫu để quản lý cách gửi.

    
      Send me your name:
      
      
    
    

    Sử dụng đối tượng này được chi tiết trong việc sử dụng các đối tượng FormData, nhưng đây là hai ví dụ:

    window.addEventListener["load", [] => {
      function sendData[] {
        const XHR = new XMLHttpRequest[];
    
        // Bind the FormData object and the form element
        const FD = new FormData[form];
    
        // Define what happens on successful data submission
        XHR.addEventListener["load", [event] => {
          alert[event.target.responseText];
        }];
    
        // Define what happens in case of error
        XHR.addEventListener["error", [event] => {
          alert['Oops! Something went wrong.'];
        }];
    
        // Set up our request
        XHR.open["POST", "//example.com/cors.php"];
    
        // The data sent is what the user provided in the form
        XHR.send[FD];
      }
    
      // Get the form element
      const form = document.getElementById["myForm"];
    
      // Add 'submit' event handler
      form.addEventListener["submit", [event] => {
        event.preventDefault[];
    
        sendData[];
      }];
    }];
    

    Đây là kết quả trực tiếp:

    Sử dụng xmlhttprequest và đối tượng formData

    Xử lý dữ liệu nhị phân

    Nếu bạn sử dụng đối tượng

    
    
    Forum
    0 có biểu mẫu bao gồm các tiện ích
    Click Me!
    
    2, dữ liệu sẽ được xử lý tự động. Nhưng để gửi dữ liệu nhị phân bằng tay, có thêm việc phải làm.

    Có nhiều nguồn cho dữ liệu nhị phân, bao gồm

    Click Me!
    
    3,
    Click Me!
    
    4 và WEBRTC. Thật không may, một số trình duyệt di sản không thể truy cập dữ liệu nhị phân hoặc yêu cầu các cách giải quyết phức tạp. Để tìm hiểu thêm về API
    Click Me!
    
    3, hãy xem sử dụng các tệp từ các ứng dụng web.

    Cách gửi dữ liệu nhị phân ít phức tạp nhất là sử dụng phương pháp

    Click Me!
    
    7 của ____ 20, được thể hiện ở trên. Nếu bạn phải làm điều đó bằng tay, nó khó khăn hơn.

    Trong ví dụ sau, chúng tôi sử dụng API

    Click Me!
    
    3 để truy cập dữ liệu nhị phân và sau đó xây dựng yêu cầu dữ liệu biểu mẫu nhiều phần bằng tay:

    
      
        text data:
        
      
      
        file data:
        
      
      Send Me!
    
    

    Như bạn thấy, HTML là một

    
    
    Forum
    2 tiêu chuẩn. Không có gì kỳ diệu đang diễn ra. "Phép thuật" nằm trong JavaScript:

    $hidden_forum = '
    
        
        
    ';
    
    0

    Đây là kết quả trực tiếp:

    Sự kết luận

    Tùy thuộc vào trình duyệt và loại dữ liệu bạn đang xử lý, việc gửi dữ liệu biểu mẫu qua JavaScript có thể dễ dàng hoặc khó khăn. Đối tượng

    
    
    Forum
    0 nói chung là câu trả lời và bạn có thể sử dụng polyfill cho nó trên các trình duyệt kế thừa.

    Xem thêm

    Con đường học tập

    Chủ đê nâng cao

    Cách chính xác để gửi biểu mẫu bằng JavaScript là gì?

    Khi chúng tôi nhấp vào liên kết, chức năng SubborForm [] sẽ được thực thi.Hàm này sẽ nhận được đối tượng phần tử bằng phương thức Dom getEuityById [] bằng cách chuyển ID biểu mẫu cho phương thức này, sau đó biểu mẫu sẽ được gửi bằng cách sử dụng Phương thức Substem [].Ví dụ: Tạo một biểu mẫu và gửi nó bằng cách sử dụng phương pháp trên.submitForm[] will get executed. This function will get the element object using DOM getElementById[] method by passing the form id to this method, then the form will be submitted by using submit[] method. Example: Create a form and submit it using the above approach.

    JavaScript có thể xử lý các biểu mẫu không?

    Với JavaScript ở phía bạn, bạn có thể xử lý các biểu mẫu đơn giản mà không cần gọi máy chủ.Và khi gửi biểu mẫu cho chương trình CGI là cần thiết, bạn có thể yêu cầu JavaScript chăm sóc tất cả các yêu cầu sơ bộ, chẳng hạn như xác thực đầu vào để đảm bảo rằng người dùng đã chấm dứt mọi i.you can process simple forms without invoking the server. And when submitting the form to a CGI program is necessary, you can have JavaScript take care of all the preliminary requirements, such as validating input to ensure that the user has dotted every i.

    Điều gì xảy ra khi bạn gửi một biểu mẫu trong JavaScript?

    Về cơ bản, JavaScript gửi dữ liệu biểu mẫu [xem các ví dụ bên dưới!] Đến tệp PHP được chỉ định, xử lý dữ liệu và lặp lại phản hồi của Echo.Bạn nhận được phản hồi đó, chia nó thành các biến và thay đổi trang phù hợp.javascript sends the form data [see below examples!] to the specified PHP file, which processes the data and echo 's back a response. You receive that response, break it up into variables, and change the page accordingly.

    Bài Viết Liên Quan

    Toplist mới

    Bài mới nhất

    Chủ Đề