通过JS组装表单

场景:例如我们做一个支付功能,肯定需要与第三方支付公司进行对接,比如【网关支付】是需要跳转到第三方的充值页面的,但是第三方只提供了后台接口,我们可以通过调用第三方的接口获取到我们需要的数据,然后通过在前端通过JS组装一个Form表单跳转到第三方的充值页面去。


//业务处理跳转网关支付页面

function businessprocessToPay(data) {

//这里的Data是后台接口返回的数据

if (data.status == 200) {

var form = $(‘<form></form>‘);

var messageHTML = $(‘<input type="hidden" name="message" value="" />‘);

messageHTML.attr(‘value‘, data.data.PostMessage);

var signatureHTML = $(‘<input type="hidden" name="signature" value="" />‘);

signatureHTML.attr(‘value‘, data.data.PostSiginature);

form.append(messageHTML);

form.append(signatureHTML);

form.attr(‘action‘, data.data.PayUrl);

form.attr(‘method‘, ‘post‘);

form.attr(‘target‘, ‘_blank‘);

form.attr(‘style‘, ‘display:none‘);

//HTML标准规定如果form表单没有被添加到document里,那么form表单提交将会被终止

$(document.body).append(form);

form.submit();

//删除关联

$(document.body).remove(form);

}else {

alertmsg(data.msg, ‘error‘);

}

}


时间: 2024-10-11 16:07:38

通过JS组装表单的相关文章

js 验证表单 js提交验证类

js 验证表单 js提交验证类 附加:js验证radio是否选择 <script language="javascript">function checkform(obj){for(i=0;i<obj.oo.length;i++)         if(obj.oo[i].checked==true) return true; alert("请选择")return false; }</script><form id="f

【转载】[JS]让表单提交返回后保持在原来提交的位置上

有时候,在网页中点击了页面中的按钮或是刷新了页面后,页面滚动条又 会回到顶部,想看后面的记录就又要拖动滚动条,或者要按翻页键,非常不方便,想在提交页面或者在页面刷新的时候仍然保持滚动条的位置不变,最好的办法就是 在JS中用cookie记录下当前滚动条的位置,然后刷新时读取cookie就可以实现这个功能了.代码如下:<script type="text/javascript"> function Trim(strValue) { //return strValue.repla

angular js 实现表单提交时下面的table获取到表单里面的数据

angular js 实现表单提交时下面的table获取到表单里面的数据<!DOCTYPE html><html ><head lang="en"> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="css/bootstrap.min.css"/> <s

js动态控制表单表格

js动态控制表单表格,这里操作只讲,添加一行,删除一行,删除某一行某一列. 直接放代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <table id="tabl" border=1 cellpadding=10 cellspacing=0&

js验证表单大全

js验证表单大全1. 长度限制<script>function test() {if(document.a.b.value.length>50){alert("不能超过50个字符!");document.a.b.focus();return false;}}</script><form name=a onsubmit="return test()"><textarea name="b" cols=&

js 防止表单重复提交

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title&

JS常用表单验证总结

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti

JS~模拟表单在新窗口打开,避免广告拦截

说起广告拦截,这应该是浏览器的一个特性,它会将window.open产生的窗口默认为一个广告,将它进行拦截,但有时,这不是我们所希望的,有时,我们就是需要它在客户端的浏览器上弹出一个新窗口,以展示数据处理的更新结果,例如,一个创建商品的预览功能,它需要先保存数据,然后再在新窗口展示最新的信息,这种需求并不少,而大多数人的作法就是使用window.open去弹窗口,但它确实不是一种好的方式! 新方式来了 我们知道表单提交实际上可以把POST的结果响应到新窗口上,我们就是利用表单的这种性质,在JS中

jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏览器当中却无法进行验证就直接将表单提交了. 在网上查了一下原因,大多数文章表明原因是js代码书写不规范造成,也就是在验证表单的规则(rules)数组的最后多了个逗号.起初我也因为是这个原因于是查看了自己的代码发现确实有此问题于是就改正过来了. 但是在浏览器中查看后仍然不起作用,在百思不得其解时,想到