js控制form提交

form表单提交,之前有个下载的项目接口,需要上url上边传超级多东西,但是 url是限制长度的 每个浏览器限制的url长度还不一样,所以就想到用form表单的action提交表单。

form标签 定义和用法 详细了解请点击

标签用于为用户输入创建 HTML 表单。

表单能够包含  标签">input 元素,比如文本字段、复选框、单选框、提交按钮等等。

表单还可以包含  标签">menus、 标签">textarea、 标签">fieldset、 标签">legend 和  标签">label 元素。

表单用于向服务器传输数据。(我们要用到的)

form提交数据用法

在这里我就写个用js调用事件提交表单。表单不在页面上显示的例子。

下面这段代码 form标签的属性 method 就是请求方法 跟 jquery的ajax一样这里我使用post请求form标签的属性 enctype 规定发送表单数据之前如何对其进行编码、form标签的属性 target=”_blank” 就相当于在新页面打开 我这里做的是下载 所以要在新页面打开。

 
"post" enctype="application/x-www-form-urlencoded" id="form-submit" target="_blank"> type="hidden" name="account" value="多毛大叔爱萝莉"/> type="hidden" name="password" value="7758521"/>
//这里的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的值太长没法下载东西的问题

你可能感兴趣的:(前端,form)