@{
ViewBag.title = "地图导航";
} @model YT.XWAJ.Public.Application.MapNavigation.Dto.MapNavigationManagementDto
<div class="easyui-layout" data-options="fit: true,border: false">
<div data-options="region:'north'" style="height:80px">
<div class="form-show">
<div class="form" style="width: 100%;overflow:auto; padding:10px 15px 5px;">
<form id="form" method="post">
<div class="form-row col-xs-6 col-sm-6 col-md-6 col-lg-6">
<div class="form-row col-xs-6 col-sm-6 col-md-6 col-lg-6">
<div class="form-title">导航名称<span class="red"></span></div>
<div class="form-value">
<input class="easyui-validatebox form-control" type="text" name="MapNavigationName" value="@Model.MapNavigationName" />
</div>
</div>
<div class="form-row col-xs-6 col-sm-6 col-md-6 col-lg-6">
<div class="form-title">排序<span class="red"></span></div>
<div class="form-value">
<input class="easyui-validatebox form-control" type="number" name="Sort" value="@Model.Sort" />
</div>
</div>
</div>
</form>
</div>
</div>
</div>
<div region="center">
<!--地图-->
<div id="mmap" style="width: 100%;height: 100%;" param="tileUrl:googleWeb;bounds:67.5 0 157.5 67.5;backgroundColor:#FFFEE9;zoom:5;sliceZoom:5;maxZoom:19;minZoom:5;fullZoom:5;mapTilesWidth:2048;mapTilesHeight:1536;errorImg:/scripts/webgis/mxImg/blank.png;mapTilesExtendPixel:0"></div>
</div>
<div data-options="region: 'south',height: 45">
<div class="form-row dlgButRow">
<div class="pull-left">
<input type="checkbox" id="chked" checked="checked" class="chk" />确认并关闭窗口
</div>
<div class="pull-right">
<a href="javascript:void(0)" class="btn btn-success" onclick="javascript: window.page.onSave();"><span class="icon icon-save"></span>保存</a>
<a href="javascript:void(0)" class="btn btn-default" onclick="javascript: window.page.close();"><i class="icon icon-remove"></i>关闭</a>
</div>
</div>
</div>
</div>
@section scripts
{
<script src="/scripts/jquery/jquery-1.11.3.min.js"></script>
<script src="/scripts/common/base.js"></script>
<!-- 地图 -->
<script src="/scripts/webgis/mxlib/MapHost.js"></script>
<script src="/scripts/webgis/mxlib/snap.svg-min.js"></script>
<script src="/scripts/webgis/mxlib/api.min.js"></script>
<script src="/scripts/webgis/mxlib/Mapv.min.js"></script>
<script src="/scripts/webgis/mxlib/RectSearchCmd.js"></script>
<script src="/scripts/map/mapApi.js"></script>
<script src="/visualization/js/map.js"></script>
<script type="text/javascript">
(function () {
var config = {
/*是否显示CAD*/
showCAD: false,
/*地图显示模型*/
mapModel: 'satellite', //"web","satellite","proCad"
/*地图初始参数*/
mapParams: {
x: 119.47353798201721, y: 36.84729076181995,
zoom: 12, maxZoom: 14,
control: { enabled: true, position: MX_ANCHOR_TOP_LEFT }
},
labelStyle: {
background: 'transparent',
color: "#33ffbb",
fontSize: "16px",
border: '0px solid #ccc',
height: "20px",
lineHeight: "20px",
fontFamily: "微软雅黑" },
markerType: {
sensor: "传感器",
video: "视频",
enterprise: "企业",
danger: "危化品",
hazard: "危险源",
shelter: "避难场所",
firehouse: "消防队",
medical: "医疗机构",
communication: "通讯保障",
technique: "技术支持",
transport: "运输保障"
}
};
var page = {
load: function () {
page.initMap();//显示地图
},
//创建和初始化地图函数:
initMap:function () {
var maps = page.maps = new visualMap({
el: 'mmap',
mapParams: config.mapParams,
showCAD: config.showCAD,
labelStyle: config.labelStyle,
markerType: config.markerType,
mapModel: config.mapModel
}); },
//保存
onSave: function () {
//获取中心点及缩放级别
var zoom = page.maps.maps._map.getZoom(),
centerPoint = page.maps.maps._map.getCenter();
//console.log(zoom);
//console.log(centerPoint);
var data = $("#form").serializeArray();
data.push(
{
name: 'Hierarchy',
value:zoom
},{
name: "CentraLongitude",
value: centerPoint.x
}, {
name: "CenterLatitude",
value: centerPoint.y
}
);
console.log(data); /*
$.post('/api/services/public/mapNavigation/EditMapNavigationManagement',
{
MapNavigationName: $('input[name="MapNavigationName"]').val(),
CentraLongitude: centerPoint.x,
CenterLatitude: centerPoint.y,
Hierarchy: zoom,
Sort: $('input[name="Sort"]').val()
},
function (result) {
$.closeParentWindow();
});
*/ $.ajax({
type: "POST",
url: '/api/services/public/mapNavigation/EditMapNavigationManagement',
data: data,
success: function (result) {
$.closeParentWindow();
}
}); }, //刷新
onRefresh: function() {
$("#datagrid").datagrid('reload');
},
//取消
close: function () {
$.closeParentWindow();
}
};
$(page.load);
window.page = page;
}());
</script>
}

上边代码无法正常运行。

但是期间遇到一个问题:就是页面只把表单中的数据遍历了,地图中获取的值没有传回后台, 因此我们有两种办法可以实现将值传回后台: 方法如下

1、这种方式如果穿的之多的情况下 不太好。

$.post('/api/services/public/mapNavigation/EditMapNavigationManagement',
{
MapNavigationName: $('input[name="MapNavigationName"]').val(),
CentraLongitude: centerPoint.x,
CenterLatitude: centerPoint.y,
Hierarchy: zoom,
Sort: $('input[name="Sort"]').val()
},
function (result) {
$.closeParentWindow();
});

2、下边的方法是给data.push元素  以下push了三个对象。 (需看接口返回的格式)

//保存
onSave: function () {
//获取中心点及缩放级别
var zoom = page.maps.maps._map.getZoom(),
centerPoint = page.maps.maps._map.getCenter();
//console.log(zoom);
//console.log(centerPoint);
var data = $("#form").serializeArray();
data.push(
{
name: 'Hierarchy',
value:zoom
},{
name: "CentraLongitude",
value: centerPoint.x
}, {
name: "CenterLatitude",
value: centerPoint.y
}
);
console.log(data);
$.ajax({
type: "POST",
url: '/api/services/public/mapNavigation/EditMapNavigationManagement',
data: data,
success: function (result) {
  $.closeParentWindow();
   }
});
}

以上代码均可实现给表单添加对象元素。

Js 向表单中添加多个元素的更多相关文章

  1. 在HTML文件的表单中添加{%csrf_token%}便可以解决问题

    原因是django为了在用户提交表单时防止跨站攻击所做的保护 只需在HTML文件的表单中添加{%csrf_token%}便可以解决问题 ------------------------if判断{% i ...

  2. 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片

    InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...

  3. Spring Security在标准登录表单中添加一个额外的字段

    概述 在本文中,我们将通过向标准登录表单添加额外字段来实现Spring Security的自定义身份验证方案. 我们将重点关注两种不同的方法,以展示框架的多功能性以及我们可以使用它的灵活方式. 我们的 ...

  4. js:表单校验(获取元素、事件)

    1.表单校验步骤 (1)确定事件(submit事件),创建一个函数并和该事件绑定. (2)书写函数对输入的数据是否合法进行校验(需要设定ID并通过ID来获取用户输入的数据的值). (3)输入的信息合法 ...

  5. js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140 ...

  6. js 交换表单中值

    <html> <head> <meta charset="utf-8" /> <script type="text/javasc ...

  7. js 提交表单添加csrf

    function post(path, shipmentMap, method) { method = method || "post"; // Set method to pos ...

  8. JS验证表单中TEXT文本框中是否含有非法字符

    <form id="form" action="" method="post"> <input type="hi ...

  9. 原 form 表单中 disabled 属性的元素不参与表单提交

    https://blog.csdn.net/benben683280/article/details/79173336

随机推荐

  1. [CodeForces332E]Binary Key

    Problem 题目给出一个加密前的字符串长度为p和加密后的字符串长度为s,让你求一个长度为K字典序最小的密钥. 密钥是循环的,第i位为1表示加密前的第i为是有用的否则是没用的. Solution 首 ...

  2. (C/C++学习笔记) 二. 数据类型

    二. 数据类型 ● 数据类型和sizeof关键字(也是一个操作符) ※ 在现代半导体存储器中, 例如在随机存取存储器或闪存中, 位(bit)的两个值可以由存储电容器的两个层级的电荷表示(In mode ...

  3. Cracking The Coding Interview 2.5

    这题的思想来自于http://hawstein.com/posts/2.5.html,重新实现了一下 用hash来记录循环的起点 //Given a circular linked list, imp ...

  4. 玩转X-CTR100 | STM32F4 l X-Assistant串口助手控制功能

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      X-CTR100控制器配套的X-Assis ...

  5. DevExpress WinForms使用教程:SVG图库和Image Picker

    [DevExpress WinForms v18.2下载] 每个新版本都在几个新控件中引入了矢量图标支持. 对于v18.2,这是列表: BackstageViewControl及其项目 RecentI ...

  6. 代码改变世界 | 如何封装一个简单的 Koa

    下面给大家带来:封装一个简单的 Koa Koa 是基于 Node.js 平台的下一代 web 开发框架 Koa 是一个新的 web 框架,可以快速而愉快地编写服务端应用程序,本文将跟大家一起学习:封装 ...

  7. python里面如何拷贝一个对象,deecopy和copy的区别

    copy仅拷贝对象的本身,而不拷贝对象引用的其它对象. deecopy除拷贝对象本身,而拷贝对象引用的其它对象.

  8. memset memcpy

    memset与memcpy的用法: void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 cmemset可以方便的清空一个 ...

  9. Golang福利爬虫

    没事的时候跑两把,穷人专用. package main import ( "bytes" "fmt" "github.com/PuerkitoBio/ ...

  10. Kaggle:Home Credit Default Risk 特征工程构建及可视化(2)

    博主在之前的博客 Kaggle:Home Credit Default Risk 数据探索及可视化(1) 中介绍了 Home Credit Default Risk 竞赛中一个优秀 kernel 关于 ...