js实现接收表单的值并将值拼在表单action后面的方法

本文实例讲述了js实现接收表单的值并将值拼在表单action后面的方法。分享给大家供大家参考,具体如下:

今天遇到一个问题,在form表单中有若干个input,其中有一个上传文件的input,现在需要在点击提交按钮时,将不是文件类型的input的值得到并拼成&name=value的格式加在action后面,这样就能一同传出去了

<form id="myform" name="myform" method="post" action="http://www.yoursiteweb.com:8080/justsy/Dolet?type=ws_justsy_webclips_policy_update" enctype="multipart/form-data">
<!-- 后台生成json -->
<script type="text/javascript">
var data = [{label:"基本信息",type:"title",tag:"h1"},
{label:"Name",type:"input",input:"text",optional:false,name:"policyName",id:"policyName",value:""},
{label:"Description",type:"input",input:"text",optional:false,name:"policyDescription",id:"policyDescription",value:""},
{label:"",type:"title",tag:"h1"},
{label:"Label(Required)",type:"input", input:"text", optional:true, name:"Label",id:"Label",value:""},
{label:"URL(Required)",type:"input", input:"text", optional:true, name:"URL",id:"URL",value:""},
{label:"Removeable",type:"input", input:"checkbox", optional:false,name:"IsRemovable",id:"IsRemovable",value:"",accept:"image/* "},
{label:"Icon",type:"input", input:"file", optional:true, name:"picurl",id:"IconFile",value:""},
{label:"Precomposed Icon",type:"input", input:"checkbox",optional:false,name:"Precomposed",id:"Precomposed",value:""},
{label:"Full screen",type:"input", input:"checkbox",optional:false,name:"FullScreen",id:"FullScreen",value:""},
{type:"hidden",name:"policyID",id:"policyID",value:""},
{type:"hidden",name:"PayloadDescription",id:"PayloadDescription",value:""},
{type:"hidden",name:"PayloadDisplayName",id:"PayloadDisplayName",value:""},
{type:"hidden",name:"PayloadIdentifier",id:"PayloadIdentifier",value:""},
{type:"hidden",name:"PayloadOrganization",id:"PayloadOrganization",value:""},
{type:"hidden",name:"PayloadType",id:"PayloadType",value:""},
{type:"hidden",name:"PayloadUUID",id:"PayloadUUID",value:""},
{type:"hidden",name:"PayloadVersion",id:"PayloadVersion",value:""},
//{type:"hidden",name:"Icon",id:"Icon",value:""},
{type:"submit",optional:true,func:""}
];
inputs(data);//在需要显示输入框的地方调用该方法
</script>
<div class="btn-bar">
<input type="button" onClick="submitForm()" value="保存">
</div>
</form>

主要js代码:

function getParams()
{
var docList=document.getElementById("inputList").getElementsByTagName("input");
var str="";
//alert(docList.length) ;
for(var i=0;i<docList.length-1;i++)
{
  if(docList[i].getAttribute("type")=="checkbox"){
    if(docList[i].checked)
      str+=getParam(docList[i].getAttribute("name"),"1")
    else
      str+=getParam(docList[i].getAttribute("name"),"0")
  }
  else
    str+=getParam(docList[i].getAttribute("name"),docList[i].value);
}
return str;
}
function getParam(key,value)
{
  return "&"+key+"="+value;
}
function submitForm(){
  if(document.getElementById("policyID").value == "")
  {
   alert("该公司没有创建策略");
   return false;
  }
  else{
  document.getElementById("IconFile_error").innerHTML="正在提交……";
 /*获取文件上传的文件名称并且判断扩展名是否为JPG*/
  var testmsg=document.getElementById("IconFile").value;
  var filename=testmsg.replace(/.*(\/|\\)/, "");
  var fileExt=(/[.]/.exec(filename)) ? /[^.]+$/.exec(filename.toLowerCase()) : '';
   if(fileExt!='jpg'){
    document.getElementById("IconFile_error").innerHTML="";
    alert("请上传图片");
   return false;
   }
  document.getElementById("myform").action+=getParams();
  document.getElementById("myform").submit();
  }
}

这样就能拼过去了....挺好用的....还能检验checkbox中的值...选中为1,不选中为0

希望本文所述对大家JavaScript程序设计有所帮助。

(0)

相关推荐

  • js实现表单多按钮提交action的处理方法

    之前一篇文章介绍了php实现表单多按钮提交action的处理方法,今天再介绍一种js实现表单多按钮提交action的处理方法,希望能够帮助到大家. 用JS实现一个表单多个按钮的方法,两个onclick事件处理,代码如下: <html> <head> <script> function submitit1() //交由程序1处理 { document.myForm.action = "http://www.site.com/cgi1.php" docu

  • jquery ajax 如何向jsp提交表单数据

    AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职的时候屡被淘汰.我也是一个WEB程序开发者,当然我也要 "随波逐流"一把,不然饭碗不保啊! 之前实现AJAX使用Javascript脚本一个一个敲出来的,很繁琐.学习Jquery之后就感觉实现AJAX并不是那么的困难了,当然除了 Jquery框架外还有其它的优秀框架这里我就着重说下比较流行的Jquery.Jquery AJAX提交表单有两种方式,一是url参数提交数据,二是form提交(和平常一样在后

  • form表单action提交的js部分与html部分

    1.JS部分代码 复制代码 代码如下: /** * 提交表单 */ function submitForm(action, actName, objName, formName,blogType){ $("#"+formName).attr("action",action); //var f = document.getElementsByTagName("form")[0]; //alert(f.action); $("#"

  • JS实现的通用表单验证插件完整实例

    本文实例讲述了JS实现的通用表单验证插件.分享给大家供大家参考.具体如下: 这里演示一个通用的JS表单验证插件代码.使用方法:第一步:需设定表单项数据类型,第二步:实例表单验证,验证错误提示说明(程序有自带相关错误提示,可自定义每项验证错误提示时文本,只需添加msg). 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-normal-table-check-plug-codes/ 具体代码如下: <!DOCTYPE html PUBLIC &qu

  • JS模拟并美化的表单控件完整实例

    本文实例讲述了JS模拟并美化的表单控件效果实例.分享给大家供大家参考.具体如下: 这里演示使用JS美化并模拟网页表单控件,十分漂亮的表单效果,使用时可以将代码内的JS保存为文件, 方便调用,使用方法:WellForm(element) //element 为表单元素. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-like-table-control-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC &qu

  • jquery ajax提交表单从action传值到jsp实现小结

    jsp页面: 复制代码 代码如下: var clientTel = $("#clientTel").val(); var activityId = $("#activityId").val(); $.ajax({ type : "post",//发送方式 url : "/arweb/reserve/saveCode.action",// 路径 data : "clientTel="+clientTel+&q

  • 在.jsp中非表单请求action的几种方式总结

    一: 复制代码 代码如下: <a href="userAction.do?flag=user_regist">注册</a> 二: 复制代码 代码如下: <a href="<s:url action="userAction"> <s:param name="flag" value="'user_regist'" /> </s:url>">

  • JSP针对表单重复提交的处理方法

    本文实例讲述了JSP针对表单重复提交的处理方法.分享给大家供大家参考,具体如下: 1. 在生成表单时执行如下: 复制代码 代码如下: session.setAttribute("forum_add", "forum_add"); 2. 提交处理时作如下判断 if (isRedo(request, "forum_add")) { //提示重复提交,作相关处理 } 相关函数: /** * 判断是否为重复提交 * 1,检查Session中是否含有指定名

  • js实现表单Radio切换效果的方法

    本文实例讲述了js实现表单Radio切换效果的方法.分享给大家供大家参考.具体如下: 这里基于js实现表单中的Radio单选框切换效果,当选中某个单选框的时候,所属范围会一同变换,我觉得大家应该收藏一下,以前想用的时候苦苦叫不上这种效果的名字,现在找到了,而且实现起来竟然如此简单,有些地方要注意,获取标签名为myradio的标签. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-table-radio-cha-codes/ 具体代码如下:

  • js实现接收表单的值并将值拼在表单action后面的方法

    本文实例讲述了js实现接收表单的值并将值拼在表单action后面的方法.分享给大家供大家参考,具体如下: 今天遇到一个问题,在form表单中有若干个input,其中有一个上传文件的input,现在需要在点击提交按钮时,将不是文件类型的input的值得到并拼成&name=value的格式加在action后面,这样就能一同传出去了 <form id="myform" name="myform" method="post" action=

  • 让axios发送表单请求形式的键值对post数据的实例

    想要发送键值对,其实是需要做响应处理的,直接上代码 npm install --save axios vue-axios qs qs是必不可少的插件,安装完成后,在main.js插入一下代码 //载入axios import Qs from 'qs' import axios from 'axios' import VueAxios from 'vue-axios' var axios_instance = axios.create({ baseURL:'http://localhost', t

  • Angular中响应式表单的三种更新值方法详析

    前言 众所周知Angular响应式表单相比较模板驱动表单更大操作性.更易测试性.因此,我更推荐这类表单创造方式. 当一个用于修改用户信息的表单,数据的来源总是来自远程:而对于一个 FormGroup 的创建总在 ngOnInit 中完成.因此,这里会有一个表单更新值的问题. 而通常我们会透过 FormGroup 下的三种方式 setValue.patchValue.reset 将值写入表单当中. 当然,或许我说的这三种方式时你压根就没有做过,那说明在表单上你依赖的是双向绑定 [(ngModel)

  • JS获取表单中的元素和取值方法

    获取表单的四种方式 1.document.表单名称 2.document.getElementById(表单 id); 3.document.forms[表单名称] 4.document.forms[索引]; //从 0 开始 <body> <!-- 获取表单 1.document.表单名称 2.document.getElementById(表单 id); 3.document.forms[表单名称] 4.document.forms[索引]; //从 0 开始 --> <

  • 浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预

    -任何标签的任何属性都可以修改! -HTML里是怎么写, JS就怎么写 以下是一段js 作用于 css 的 href的 代码 <link id="l1" rel="stylesheet" type="text/css" href="css1.css" rel="external nofollow" /> <script> function skin1() { var oL=docum

  • 详谈Angular 2+ 的表单(一)之模板驱动型表单

    摘要 在企业应用开发时,表单是一个躲不过去的事情,和面向消费者的应用不同,企业领域的开发中,表单的使用量是惊人的.这些表单的处理其实是一个挺复杂的事情,比如有的是涉及到多个 Tab 的表单,有的是向导形式多个步骤的,各种复杂的验证逻辑和时不时需要弹出的对话框等等.笔者试图在这一系列文章中对 Angular 中的表单处理做一个相对完整的梳理. Angular 中提供两种类型的表单处理机制,一种叫模版驱动型(Template Driven)的表单,另一种叫模型驱动型表单( Model Driven

  • BootStrap表单控件之复选框checkbox和单选择按钮radio

    1.运行效果如图所示 2.实现代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>表单控件--复选框checkbox和单选择按钮radio</title> <!-- 最新版本

  • php实现表单多按钮提交action的处理方法

    表单内有两个提交按钮,要实现当点击不同的提交按钮时,分别进行两个不同的处理过程,在这里有实现表单多按钮提交action的处理方法分享给大家. 用PHP判断,一个表单两个按钮,按钮的name属性设为相同,但值设为不同,表单提交后,只需要判断提交上来的值就可以转到不同的处理过程去,这个方法比较合理,适合多个按钮在一个表单里. PHP方法,代码如下: <?php echo "$sub<br>\n"; if ("s1"==$sub) { ... } els

  • 如何使用Jquery获取Form表单中被选中的radio值

    Jquery提供的选择器极大的方便了开发人员对Dom的操作,真正实现了代码简化,却功能强大的目标.下面就日常最常用的,在Form表单中如何获取被中选的Radio值做一小小的示例. form表单如下: 复制代码 代码如下: <form name='form1' action="#" method="post"> 此处略去200字 <input type="radio" name="opType" value=&

随机推荐