form表单提交,之前有个下载的项目接口,需要上url上边传超级多东西,但是 url是限制长度的 每个浏览器限制的url长度还不一样,所以就想到用form表单的action提交表单。
form标签 定义和用法 详细了解请点击
<form> 标签用于为用户输入创建 HTML 表单。
表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。
表单还可以包含 menus、textarea、fieldset、legend 和 label 元素。
表单用于向服务器传输数据。(我们要用到的)
form提交数据用法
在这里我就写个用js调用事件提交表单。表单不在页面上显示的例子。
下面这段代码 form标签的属性 method 就是请求方法 跟 jquery的ajax一样这里我使用post请求、 form标签的属性 enctype 规定发送表单数据之前如何对其进行编码、form标签的属性 target="_blank" 就相当于在新页面打开 我这里做的是下载 所以要在新页面打开。
<form method="post" enctype="application/x-www-form-urlencoded" id="form-submit" target="_blank">
<input type="hidden" name="account" value="多毛大叔爱萝莉"/>
<input type="hidden" name="password" value="7758521"/>
</form>
<button type="button" id="go">go</button>
//这里的name就是相当于post属性的参数 value就是你传的值 type是hidden 是因为我不想再页面上看到他所以让他隐藏了
接下来我们用js调用事件 动态给 form 添加 action 属性让form知道我们要让他请求拿个位置。
// js 获取form表单
var form_submit = document.getElementById('form-submit');
// js获取按钮
var go = document.getElementById('go');
// 当点击go时执行事件
go.addEventListener('click',function(){
// 动态给form表单设置请求位置
form_submit.active = "http://www.daxuehua.cn";
// 让form表单提交
form_submit.submit()
})
这样子就可以解决如果 url的值太长没法下载东西的问题