提交表单时执行func方法实现代码

2023-12-09前端开发
32

当用户提交表单时,我们可以使用JavaScript中的addEventListener方法或者onsubmit属性来绑定一个回调函数来实现代码逻辑。以下是实现步骤:

1. 编写HTML表单

首先需要编写一个HTML表单:

<form id="myForm">
  <input type="text" name="username" placeholder="请输入用户名" />
  <input type="password" name="password" placeholder="请输入密码" />
  <button type="submit">提交</button>
</form>

这个表单包含了两个输入框和一个提交按钮。

2. 编写JavaScript代码

接下来,我们需要编写一个JavaScript代码块来处理表单提交后的逻辑。这里我们会使用到两个方法:addEventListenerpreventDefault

const myForm = document.querySelector("#myForm");

myForm.addEventListener("submit", function(evt) {
  evt.preventDefault(); // 阻止表单提交默认行为

  // 你的代码逻辑
});

这里首先通过querySelector方法选中了表单元素,并使用addEventListener方法绑定了一个submit事件。事件处理函数中的evt参数表示事件对象,我们使用preventDefault方法阻止了表单提交的默认行为。

3. 在事件处理函数中实现代码逻辑

在事件处理函数中,我们可以编写具体的逻辑代码来处理表单提交后需要做的事情。以下是两个示例:

a. 获取表单数据
const myForm = document.querySelector("#myForm");

myForm.addEventListener("submit", function(evt) {
  evt.preventDefault();

  const form = evt.target;

  const username = form.elements.username.value;
  const password = form.elements.password.value;

  console.log(`用户名:${username},密码:${password}`);
});

这个示例中,我们获取了表单元素和其中的两个输入框元素,并从输入框元素中取出了值。然后我们在控制台中输出了这些值。

b. 发起异步请求
const myForm = document.querySelector("#myForm");

myForm.addEventListener("submit", function(evt) {
  evt.preventDefault();

  const form = evt.target;

  const username = form.elements.username.value;
  const password = form.elements.password.value;

  fetch("/api/login", {
    method: "POST",
    body: JSON.stringify({ username, password }),
    headers: {
      "Content-Type": "application/json"
    }
  })
    .then(response => response.json())
    .then(data => {
      console.log(data);
    })
    .catch(error => {
      console.error(error);
    });
});

这个示例中,我们使用了fetch函数发起了一个异步请求(假设服务器端提供了一个/login的API接口),并将表单数据以JSON格式发送给了服务器端。当服务器返回响应时,我们在控制台中输出了响应数据,或者在出现错误时输出了错误信息。

以上就是“提交表单时执行func方法实现代码”的完整攻略。

The End

相关推荐

layui实现图片上传成功后回显点击放大图片功能
layui实现图片上传成功后回显点击放大图片功能,html代码部分: !-- html代码--div class="layui-form-item" label class="layui-form-label"上传图片/label div class="layui-input-block" button type="button" class="layui-btn" id="license-auth-letter-...
2025-09-06 前端开发
202

Layui实现数据表格中鼠标悬停图片放大离开时恢复原图
Layui实现数据表格中鼠标悬停图片放大离开时恢复原图的效果,最终效果如下图所示: 实现代码如下,在done函数中调用hoverOpenImg方法 var tableIns = window.demoTable = table .render({ elem : '#idTest', id : 'idTest', url : '/postData', //width : 150...
2025-09-04 前端开发
112

layui点击文本输入框调起弹出选择框并选择内容的两种方法参考
我们在用到layui时候,需要点击文本输入框调起弹出选择框并选择内容,这个要怎么操作呢?以下两种方法可以参考: 1、点击名称,弹出信息弹框,选择表格中的某一行,实现效果如下: html页面代码 !--计量器具弹出层-- div id="equipment" lay-filter="equipmen...
2025-09-02 前端开发
167

网站部署https后百度地图不显示问题
https的网站如果引用百度地图,会出现加载不了的问题,这是因为涉及到跨域问题,网站是https的,但是引用百度地图的是http的,这个要怎么操作呢? 比如我引用的地址:http://api.map.baidu.com/api?v=2.0ak=AK显示 后来看了一下,少了一个s=1字段,加一下s=1...
2025-07-28 前端开发
139

微信小程序实现点击复制功能和手机拨打电话功能
做小程序项目的时候,客户提了一个功能需求优化,就是长按文字需要复制全部内容,因为有的手机支持全选复制,有的手机不支持全选复制。 通过设置系统剪贴板的内容和获取系统剪贴板的内容实现复制功能 html相关代码: van-field value="{{form.contactPhone}}"...
2025-07-02 前端开发
78

js拖拽排序插件Sortable.js如何使用
由于项目功能需要,要实现对table中的行实现拖拽排序功能,找来找去发现Sortable.js能很好的满足这个需求,而且它还是开源的,于是乎就开始学习使用Sortable.js 特点 轻量级但功能强大 移动列表项时有动画 支持触屏设备和大多数浏览器(IE9及以下除外) 支持...
2025-06-12 前端开发
161