当前位置: 首页 > article >正文

form表单阻止默认事件及获取值

阻止form的默认事件

方法1

采用行内js的onsubmit,那么实参必须使用保留的关键词event

<form action="" id="aa" name="bb" onsubmit="cdma(event)">
  <input type="text" name="zhangsan" >
</form>

function cdma(event){
  event.preventDefault();
}

方法二

事件监听模式,那就e.preventDefault()即可

获取Form表单的方法

<form action="" id="cc" name="dd">
  <input type="text" name="tx" id="txid">
  <input type="checkbox" id="ck" value="998" name="re" />
  <input type="checkbox" id="ck2" value="999" name="re" />
  <input type="file" name="fff">
  <button type="button">普通按钮</button>
  <button type="submit">提交</button>
</form>

document.forms获取,无论用id或name,效果一致

document.forms['cc']
document.forms['dd']

方法1

获取表单中的某个值

document.forms支持用name或id获取
document.forms['cc']['tx']
document.forms['cc']['txid']

方法二

遍历new FormData的实例可获取表单内对应的name属性和值

document.forms['cc'].addEventListener('submit',function(e){ 
  e.preventDefault();
  new FormData(this).forEach(function(value,key){
    console.log('======value',value,key);
  })
})

 方法三

formData实例内的get方法

注意:实参只能是name值,不能是id值

document.forms['cc'].addEventListener('submit',function(e){ 
  e.preventDefault();
  var fd=new FormData(this)
  console.log('======fd',fd.get('tx'));
  console.log('======fd',fd.getAll('re'));
})

 方法4

表单.elements[name或id]

document.forms['cc'].addEventListener('submit',function(e){
  e.preventDefault();
  console.log('======',document.forms['cc'].elements['tx'].value);
  console.log('======',this.elements['tx'].value);
  console.log('======',this.elements['txid'].value);
})

获取同一个name值的checkbox

采用数组形式
document.forms['cc'].addEventListener('submit',function(e){ 
  e.preventDefault();
  console.log('======',this.elements['re'][0].checked);
})

 获取文件

document.forms['cc'].addEventListener('submit',function(e){ 
  e.preventDefault();
  console.log('======',this.elements['fff'].files[0]);
})


http://www.kler.cn/a/420750.html

相关文章:

  • Python酷库之旅-第三方库Pandas(251)
  • numpy快速入门
  • Ajax基础总结(思维导图+二维表)
  • FFmpeg一些常用的命令
  • 1180 - 【入门】数字出现次数
  • qml项目创建的区别
  • PH热榜 | 2024-12-02
  • Milvus Cloud 2.5:向量数据库的新里程碑与全文检索的革新
  • 大数据治理:解锁数据价值,引领未来创新
  • windows C#-测试引用相等性
  • 人机交互中的状态交互、趋势交互
  • vue 3中使用复制功能
  • C++【PCL】利用矩阵对点云进行刚体变换
  • golang的wails框架在macos下的问题
  • 基于STM32的电能监控系统设计:ModBus协议、RS-485存储和分析电能数据(代码示例)
  • 使用kaggle提供的免费gpu来实现语音克隆
  • Proxy与CGLib代理:深入解析与应用
  • 5.vue3+openlayers加载ArcGIS地图示例
  • Kafka 图形化工具 Eagle安装
  • ios上滚动条不能滑动 滚动卡住的问题
  • HTTP协议详解:从HTTP/1.0到HTTP/3的演变与优化
  • 在超表面中琼斯矩阵的使用
  • vue3+element-plus多选框全选与单选
  • matlab 中的 bug
  • K8S控制台kubernetes-dashboard快速安装
  • RHCE: SELinux