今天在做一个项目的时候, mapabc中的inforWindow中,如果是超链接a,不直接响应.

  后来的解决方案是动态产生form,并调用summit方法.如下

  自定义一个js函数:

function subf(val) {
document.getElementById(val + 'frm').submit();
}

  在html中, 由于我发现在直接拼接字符串时, 如果有很多单引号和双引号同时使用,这时在拼接字符串的时候,会很麻烦.

  我的解决方案是, 传递当前控件的id, (如上)在获取控件的id时, 在添加新的内容,以区分控件id.

<form id='okok' name='okok' action='monitor/lock_fence_monitor'>
<input type='button' id='okok' onclick='subf(this.id);' />
</form>

这里, 使得form中的id和button的id相同, 是为了从变量中获取值的时候,方便使用.例如

"<form id='" + lid + "frm' name='canyou' action='monitor/lock_fence_monitor'>
<input type='button' value='" + lid + "' id='" + lid + "' onclick='subf(this.id);'/> </form>";

这样, form的id和button的id都是动态的.

相反,如果不使用 this关键字,如下:

<form id='ftest' name='ftest' action='monitor/lock_fence_monitor'>
<input type='button' id='okok' onclick="subf('bid');" />
</form>

这时在拼接字符串时的难度会很大(我觉得,可能大家觉得拼接字符串很容易).

真是困难重重, 后来发现inforWindow中如果直接提交,在Action中竟然无法接受到参数的值.

  后来的解决方案是,在以上的subf函数中,调用父窗口的另一个form,让父窗口中的form进行提交.

基本代码为:

  html中:

<form action="monitor/lock_fence_monitor" id='fparent'>
<input type="text" value="" id='name' name="name" /><br /> <input
type="submit" value="do" />
</form>

  js函数:

//提交infowindows.
function subf(val) {
//console.log('v=' + val);
var n = document.getElementById('name');
n.value = 'lll';
document.getElementById('fparent').submit();
}

  js中进行字符串拼接:

"<form id='"
+ lock
+ "frm' name='form_info' action='monitor/lock_fence_monitor?IMEI=jus'><ul><li><input name='IMEI' type='button' value='"
+ lock + "(点击查报警日志)编号'id='" + lock
+ "'onclick='subf(this.id);'/></li><li>回传间隔:" + returnInterval
+ "</li><li>上次开锁次数:" + previousOpenedTotalTimes
+ "</li><li>当前开锁次数:" + currentOpenedTotalTimes
+ "</li><li>上次状态:" + previousStatus + "</li><li>当前状态:"
+ currentStatus + "</li><li>上传原因:" + uploadReason
+ "</li><li>数据量:" + dataVloume + "</li><li>连接基站信息:"
+ connectStationInfo + "</li><li>经度:" + longitude
+ "</li><li>经度信息:" + longitudeInfo + "</li><li>纬度:" + latitude
+ "</li><li>纬度信息:" + latitudeInfo + "</li><li>位置:" + location
+ "</li><li>速度:" + speed + "</li><li>方向:" + direction
+ "</li></ul></form>";

  所以,流程,就是在动态的input(如button)中,通过onclick方法, 然后通过js函数,接受input的value,赋值给父窗口中的控件,让父窗口中的控件携带其值,并通过父窗口的form进行提交.

js - 在拼接字符串中动态submit当前form的更多相关文章

  1. js如何替换字符串中匹配到多处中某一指定节点?

    抛出一个问题,如图,搜索关键字,匹配到四处,那我鼠标放在第二处,我想把它变个颜色,该怎么实现呢?回到文章的标题,js如何替换字符串中匹配到多处中某一指定节点? 字符串的替换,我们首先想到的一个属性是r ...

  2. JS正则表达式获取字符串中特定字符

    JS正则表达式获取字符串中得特定字符,通过replace的回调函数获取. 实现的效果:在字符串中abcdefgname='test'sddfhskshjsfsjdfps中获取name的值test  实 ...

  3. JS求任意字符串中出现最多的字符以及出现的次数

    我爱撸码,撸码使我感到快乐!大家好,我是Counter本节讲讲如何利用JS来查找任意给定的字符串,求字符串中出现次数最多的字符,出现的次数.直接上代码了,该注释的都注释啦.非常轻松加愉快.效果如下: ...

  4. Node.js之判断字符串中是否包含某个字符串

    server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境 ...

  5. JS 从一个字符串中截取两个字符串之间的字符串

    /************************************************* 函数说明:从一个字符串中截取 两个字符串之间的字符串 参数说明:src_str 原串, start ...

  6. js 高效拼接字符串

    <script>//如果我们大量使用+=进行字符串拼接的话,将会使界面失去响应(卡死状态) //高效拼接字符串 var StringBuilder=function() { this.da ...

  7. JavaScript(js)文件路径字符串中丢失"\"斜线的解决方法

    在刚刚的开发过程中,遇到一个JavaScript 文件路径字符串中丢失"\"的问题,解决过程如下: 背景:cs文件中获取一段包含有路径信息的字符串,将此字符串做为参数传递给前台as ...

  8. js 统计一个字符串中出现的字符最多的字符

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. js判断一个字符串中出现次数最多的字符及次数

    最近面试总是刷到这个题,然后第一次的话思路很乱,这个是我个人思路 for循环里两个 if 判断还可以优化 var maxLength = 0; var maxStr = ''; var count = ...

随机推荐

  1. bzoj2705

    一个常用的结论(方法) 只要知道gcd(i,n)=L 的i的个数s,我们就能很轻易得出答案 gcd(i,n)=L gcd(i/L,n/L)=1 不难得到这样的s=与n/L互质的个数=phi(n/L) ...

  2. Java新手入门必须掌握的30个基本概念

    今天给大家推荐的文章是有关Java基本概念的,掌握好这些基本概念对学习J2SE.J2EE.J2ME都很重要,也能更好地理解Java的精髓,初学者要注意啦! ▶Java概述: 目前Java主要应用于中间 ...

  3. SRM 442(1-250pt, 1-500pt)

    DIV1 250pt 题意:将一个数表示成质因子相乘的形式,若乘式所含数字的个数为质数,则称A为underprime.比如12 = 2*2*3,则含3个数字,是underprime.求A, B之间un ...

  4. HDU 4722 Good Numbers

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 Good Numbers Time Limit: 2000/1000 MS (Java/Othe ...

  5. Yii2 自动更新时间created_at updated_at

    创建model之后,新建一条记录,结果设计的表中created_at 字段 updated_at 字段 都是datetime 类型的,却不能自动插入当前时间.查看了资料,解决如下: 1.在class ...

  6. JMS消息类型模型

    JMS有两种消息类型模型,一种是P2P(Point To Point), 另一种是Pub/Sub(Publisher/Subscriber),二者之间的主要区别在于消息是否支持重复消费. P2P模型中 ...

  7. (转)在javascript中关于submit和button提交表单区别

      原文来自:http://www.jb51.net/article/42236.htm   submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和b ...

  8. 利用图片延迟加载来优化页面性能(jQuery)

    图片延迟加载也称懒加载,常用于页面很长,图片很多的页面,以电子商务网站居多,比如大家常上的京东,淘宝,页面以图居多,整个页面少说几百K,多则上兆,如果想一次性加载完成,不仅用户要哭了,服务器也得哭了. ...

  9. 显示、隐藏 PowerShell

    以下是一个快速实现该需求的 module.只要将以下代码复制粘贴到 Documents\WindowsPowerShell\Packages\PowerShell\PowerShell.psm1 即可 ...

  10. Nginx的事件处理机制

    Nginx的事件处理机制:对于一个主要的webserver来说,事件通常有三种类型,网络事件.信号.定时器. 首先看一个请求的基本过程:建立连接---接收数据---发送数据 .再次看系统底层的操作 : ...