亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javaScript在表單提交時(shí)獲取表單數(shù)據(jù)的示例代碼

 更新時(shí)間:2025年02月27日 09:38:32   作者:怪咖學(xué)生  
本文介紹了五種在JavaScript中獲取表單數(shù)據(jù)的方法:使用FormData對象、手動提取表單數(shù)據(jù)、使用querySelector獲取單個(gè)字段數(shù)據(jù)、序列化為查詢字符串和配合AJAX提交表單數(shù)據(jù),每種方法都有示例代碼,幫助開發(fā)者更好地理解和應(yīng)用

方法 1:使用 FormData 對象

FormData 是一個(gè)方便的內(nèi)置對象,用于獲取表單中的鍵值對數(shù)據(jù)。

示例代碼

<form id="myForm">
  <input type="text" name="username" value="JohnDoe" />
  <input type="email" name="email" value="john@example.com" />
  <input type="password" name="password" value="12345" />
  <button type="submit">Submit</button>
</form>
<script>
  document.getElementById('myForm').addEventListener('submit', function (event) {
    event.preventDefault(); // 阻止默認(rèn)表單提交行為
    // 獲取表單數(shù)據(jù)
    const formData = new FormData(this);
    // 遍歷表單數(shù)據(jù)
    for (let [key, value] of formData.entries()) {
      console.log(`${key}: ${value}`);
    }
    // 如果需要轉(zhuǎn)換為 JSON 對象
    const data = Object.fromEntries(formData.entries());
    console.log(data);
  });
</script>

解釋:

  • FormData(this):創(chuàng)建一個(gè)包含表單所有數(shù)據(jù)的對象。
  • formData.entries():獲取鍵值對的迭代器。
  • Object.fromEntries():將鍵值對轉(zhuǎn)換為對象。

方法 2:通過 serialize 手動提取表單數(shù)據(jù)

可以通過直接訪問表單元素的值手動提取表單數(shù)據(jù)。

示例代碼

<form id="myForm">
  <input type="text" name="username" value="JohnDoe" />
  <input type="email" name="email" value="john@example.com" />
  <input type="password" name="password" value="12345" />
  <button type="submit">Submit</button>
</form>
<script>
  document.getElementById('myForm').addEventListener('submit', function (event) {
    event.preventDefault();
    const form = event.target;
    const formData = {};
    // 遍歷表單元素
    Array.from(form.elements).forEach((element) => {
      if (element.name) {
        formData[element.name] = element.value; // 獲取每個(gè)字段的值
      }
    });
    console.log(formData);
  });
</script>

解釋

  • form.elements:獲取表單中所有的控件(如 <input><select> 等)。
  • 通過 element.name 識別表單字段并提取其 value

方法 3:使用 querySelector 手動獲取單個(gè)字段數(shù)據(jù)

如果你只想獲取某幾個(gè)字段的數(shù)據(jù),可以直接用選擇器獲取特定的表單字段。

示例代碼

<form id="myForm">
  <input type="text" id="username" name="username" value="JohnDoe" />
  <input type="email" id="email" name="email" value="john@example.com" />
  <button type="submit">Submit</button>
</form>
<script>
  document.getElementById('myForm').addEventListener('submit', function (event) {
    event.preventDefault();
    // 獲取單個(gè)字段值
    const username = document.querySelector('#username').value;
    const email = document.querySelector('#email').value;
    console.log(`Username: ${username}`);
    console.log(`Email: ${email}`);
  });
</script>

解釋

  • 通過 querySelector 獲取具體字段,并訪問其 value。

方法 4:通過 URL 查詢參數(shù)形式獲取表單數(shù)據(jù)

可以將表單提交后的數(shù)據(jù)序列化成 URL 查詢字符串的形式。

示例代碼

<form id="myForm">
  <input type="text" name="username" value="JohnDoe" />
  <input type="email" name="email" value="john@example.com" />
  <button type="submit">Submit</button>
</form>
<script>
  document.getElementById('myForm').addEventListener('submit', function (event) {
    event.preventDefault();
    const formData = new FormData(this);
    // 轉(zhuǎn)換為 URL 查詢參數(shù)
    const queryString = new URLSearchParams(formData).toString();
    console.log(queryString); // username=JohnDoe&email=john%40example.com
  });
</script>

解釋

  • URLSearchParams(formData):將表單數(shù)據(jù)轉(zhuǎn)換為查詢參數(shù)格式。
  • .toString():生成 URL 查詢字符串。

方法 5:配合 AJAX 提交表單數(shù)據(jù)

通過 fetchXMLHttpRequest 可以將表單數(shù)據(jù)異步提交到服務(wù)器。

示例代碼

<form id="myForm">
  <input type="text" name="username" value="JohnDoe" />
  <input type="email" name="email" value="john@example.com" />
  <button type="submit">Submit</button>
</form>
<script>
  document.getElementById('myForm').addEventListener('submit', function (event) {
    event.preventDefault();
    const formData = new FormData(this);
    // 提交表單數(shù)據(jù)到服務(wù)器
    fetch('/submit', {
      method: 'POST',
      body: formData,
    })
      .then((response) => response.json())
      .then((data) => console.log(data))
      .catch((error) => console.error('Error:', error));
  });
</script>

解釋

  • fetch('/submit', { method: 'POST', body: formData }):將表單數(shù)據(jù)發(fā)送到服務(wù)器。
  • 響應(yīng)結(jié)果可以通過 response.json() 處理。

總結(jié)

  • 簡單提取數(shù)據(jù):使用 FormData。
  • 手動提取數(shù)據(jù):直接訪問 form.elementsquerySelector。
  • 序列化為查詢字符串:通過 URLSearchParams
  • 配合提交到服務(wù)器:結(jié)合 fetch 或其他 AJAX 方法實(shí)現(xiàn)動態(tài)提交。

選擇方法取決于實(shí)際需求,例如是否需要動態(tài)處理、是否需要提交到服務(wù)器等。

到此這篇關(guān)于javaScript如何在表單提交的時(shí)候獲取到表單數(shù)據(jù)的文章就介紹到這了,更多相關(guān)javaScript表單提交獲取表單數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js 文本滾動效果的實(shí)例代碼

    js 文本滾動效果的實(shí)例代碼

    一個(gè)簡單的滾動效果,我只測試了文本,對于圖片有需要的朋友可以測試一下哦
    2013-08-08
  • 22種JavaScript中數(shù)組常用API總結(jié)

    22種JavaScript中數(shù)組常用API總結(jié)

    在前端開發(fā)中,數(shù)組是一種常見且重要的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了前端中數(shù)組常用的API,包括添加、刪除、截取、合并、轉(zhuǎn)換等操作,希望對大家有所幫助
    2023-05-05
  • js生成word中圖片處理方法

    js生成word中圖片處理方法

    下面小編就為大家分享一篇js生成word中圖片處理方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • javascript實(shí)現(xiàn)數(shù)組中的內(nèi)容隨機(jī)輸出

    javascript實(shí)現(xiàn)數(shù)組中的內(nèi)容隨機(jī)輸出

    本文實(shí)例講述了javaScript數(shù)組隨機(jī)排列實(shí)現(xiàn)隨機(jī)洗牌功能的方法。分享給大家供大家參考。
    2015-08-08
  • Js 實(shí)現(xiàn)表格隔行換色一例

    Js 實(shí)現(xiàn)表格隔行換色一例

    Js實(shí)現(xiàn)表格隔行換色一例,這種效果網(wǎng)上已經(jīng)有很多啦,每一種都有特色,請大家選擇使用。
    2009-11-11
  • javaScript深拷貝和淺拷貝的簡單介紹

    javaScript深拷貝和淺拷貝的簡單介紹

    深淺拷貝知識在我們的日常開發(fā)中還算是用的比較多,下面這篇文章主要給大家介紹了關(guān)于javaScript深拷貝和淺拷貝的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • js自定義select下拉框美化特效

    js自定義select下拉框美化特效

    這篇文章主要為大家介紹了javascript自定義select下拉框美化特效的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • JavaScript解構(gòu)賦值詳解

    JavaScript解構(gòu)賦值詳解

    這篇文章主要為大家介紹了JavaScript解構(gòu)賦值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • 小程序數(shù)據(jù)通信方法大全(推薦)

    小程序數(shù)據(jù)通信方法大全(推薦)

    這篇文章主要介紹了小程序數(shù)據(jù)通信方法大全,文中詳細(xì)的介紹了小程序頁面、組件之間的三種關(guān)系進(jìn)行通信,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-04-04
  • JavaScript自定義事件介紹

    JavaScript自定義事件介紹

    很多DOM對象都有原生的事件支持,向div就有click、mouseover等事件,事件機(jī)制可以為類的設(shè)計(jì)帶來很大的靈活性,相信.net程序員深有體會。隨著web技術(shù)發(fā)展,使用JavaScript自定義對象愈發(fā)頻繁,讓自己創(chuàng)建的對象也有事件機(jī)制,通過事件對外通信,能夠極大提高開發(fā)效率
    2013-08-08

最新評論