最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

方法 1:使用 FormData 對象

FormData 是一個方便的內(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)建一個包含表單所有數(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; // 獲取每個字段的值
      }
    });
    console.log(formData);
  });
</script>

解釋

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

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

如果你只想獲取某幾個字段的數(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();
    // 獲取單個字段值
    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 方法實現(xiàn)動態(tài)提交。

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

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

相關(guān)文章

  • 原生javascript模仿win8等待提示圓圈進(jìn)度條

    原生javascript模仿win8等待提示圓圈進(jìn)度條

    一直很中意win8等待提示圓圈進(jìn)度條,下面本文就使用原生javascript模仿win8等待進(jìn)度條,需要的朋友可以參考下
    2014-04-04
  • js實現(xiàn)購物車計算的方法

    js實現(xiàn)購物車計算的方法

    這篇文章主要為大家詳細(xì)介紹了js實現(xiàn)購物車的計算方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • zepto.js中tap事件阻止冒泡的實現(xiàn)方法

    zepto.js中tap事件阻止冒泡的實現(xiàn)方法

    這篇文章主要介紹了zepto.js中tap事件阻止冒泡的實現(xiàn)方法,實例分析了由冒泡產(chǎn)生的click延遲解決方法,需要的朋友可以參考下
    2015-02-02
  • 微信小程序圖片上傳以及內(nèi)容安全審核詳解

    微信小程序圖片上傳以及內(nèi)容安全審核詳解

    踩了很多次坑,終于在微信小程序中搞定了圖片上傳以及內(nèi)容安全審核,下面這篇文章主要給大家介紹了關(guān)于微信小程序圖片上傳以及內(nèi)容安全審核的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 詳解JavaScript中Promise的原理與應(yīng)用

    詳解JavaScript中Promise的原理與應(yīng)用

    Promise是JavaScript中的一個重要概念,也是現(xiàn)代JavaScript開發(fā)中必不可少的一部分,本文主要介紹了Promise的實現(xiàn)原理、使用方法及常見應(yīng)用場景,需要的可以收藏一下
    2023-06-06
  • 分析javascript中9 個常見錯誤阻礙你進(jìn)步

    分析javascript中9 個常見錯誤阻礙你進(jìn)步

    這篇文章主要介紹了分析javascript中9 個常見錯誤阻礙你進(jìn)步的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • javascript中字符串拼接需注意的問題

    javascript中字符串拼接需注意的問題

    作為一名.net開發(fā)人員相信大家都知道C#中字符串拼接與StringBuilder的效率差距。
    2010-07-07
  • javascript 通用loading動畫效果實例代碼

    javascript 通用loading動畫效果實例代碼

    這篇文章主要介紹了javascript 通用loading動畫效果實例代碼,有需要的朋友可以參考一下
    2014-01-01
  • uniapp movable-area應(yīng)用

    uniapp movable-area應(yīng)用

    這篇文章主要為大家介紹了uniapp movable-area應(yīng)用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • JS利用循環(huán)解決的一些常見問題總結(jié)

    JS利用循環(huán)解決的一些常見問題總結(jié)

    循環(huán)輸出問題是面試中經(jīng)典的題目,一般會給出代碼,讓我們解釋原因,并給出若干解決方案,下面這篇文章主要給大家介紹了關(guān)于JS利用循環(huán)解決的一些常見問題,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08

最新評論

京山县| 上林县| 禹城市| 尉氏县| 信阳市| 彭山县| 鄂托克旗| 庐江县| 嘉禾县| 偏关县| 旬邑县| 登封市| 永平县| 万荣县| 德清县| 广元市| 彭水| 阜南县| 罗平县| 申扎县| 乐昌市| 西充县| 安福县| 镇宁| 广汉市| 陆川县| 六盘水市| 沧源| 凌源市| 宁城县| 革吉县| 昌图县| 运城市| 大姚县| 琼海市| 福清市| 彰化县| 阳东县| 治县。| 彭泽县| 临洮县|