这篇文章给大家分享的是有关怎么利用JS获取form表单数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
方法如下:
1.有的时候想偷点懒,页面上有大量的表单提交数据,每次单独获取都比较麻烦。代码冗余度也比较多,因此封装了一个方法。
2. 表单元素必须要有name属性,name属性是向后端提交的字段数据。
3.html代码
<h4>下拉框</h4>
<select name="sel" id="sel" class="query">
<option value ="sel-1">sel-1</option>
<option value ="sel-2">sel-2</option>
</select>
<h4>输入框</h4>
<input type="text" name="text1" class="query" value="hello" />
<input type="text" name="text2" class="query" value="word" />
<h4>密码框</h4>
<input type="password" name="password" class="query" value="123456" />
<h4>单选框</h4>
单选1<input type="radio" name="radio" class="query" value="r1" checked />
单选2<input type="radio" name="radio" class="query" value="r2" checked/>
单选3<input type="radio" name="radio" class="query" value="r3" />
<h4>复选框</h4>
复选框1<input type="checkbox" name="check" id="" class="query" value="c1" checked/>
复选框2<input type="checkbox" name="check" id="" class="query" value="c2" />
复选框3<input type="checkbox" name="check" id="" class="query" value="c3" checked/>
<h4>search</h4>
<input type="range" name="range" id="" class="query" value="" />
<input type="color" name="color" id="" class="query" value="" />
<h4>
<button type="button" id="save">
提交
</button>
</h4>
4.此处引入了JQ库。
4.1js代码块
使用说明:调用方法的时候传入class名称即可。
// 封装方法,获取到form表单的数据。使用此方法,表单元素必须存在那么属性。
//el:元素的class名称。
function getParameter(el){
var obj={};
$(el).each(function(index,item){
// 判断元素的类型
if(item.type=="text" || item.type=="password" || item.type=="select-one" || item.type=="tel" ||
item.type=="search" || item.type=="range" || item.type=="number" || item.type=="month" ||
item.type=="email" || item.type=="datetime-local" || item.type=="datetime" || item.type=="date" ||
item.type=="color"){
//获取到name的值,name的值就是向后台传递的数据
obj[$(this).attr("name")]=$(this).val();
}else if(item.type=="checkbox"){
var stamp=false;
if($(this).attr("name") && !stamp){
stamp=false;
// 获取到复选框选中的元素
var checkboxEl=$("input[name="+$(item).attr('name')+"]:checked");
if(checkboxEl){
var checkboxArr=[];
// 取出复选框选中的值
checkboxEl.each(function(idx,itm){
checkboxArr.push($(itm).val());
});
obj[$(this).attr("name")]=checkboxArr.join(",");
}
}
}else if(item.type=="radio"){
// 获取到单选框选中的值
var radio_val=$("input[name="+$(item).attr('name')+"]:checked").val();
if(radio_val){
obj[$(item).attr("name")]=radio_val;
}
}
});
return obj;
}
// 调用方法
$("#save").click(function(){
var parameter=getParameter(".query");
console.log(parameter);
});
感谢各位的阅读!关于“怎么利用JS获取form表单数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。