@{
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. Java的Properties类使用

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  2. day15 装饰器

    关于函数的装饰器 1 .装饰器,(难点,重点) 开闭原则: 对功能的扩展开放 对代码的修改是封闭 通用装饰器语法: def wrapper(fn): def inner(*args,**kwargs) ...

  3. bluemix部署(一)简单测试,搭建样本flask程序。

    1.注册bluemix 这个略 2.登录bluemix 这个也略 3.创建组织 这个确实是和我们的思想不一样.要创建组织.为什么呢?国内的很多服务都没见过组织这个概念.貌似神符合一个中国人是条龙,十个 ...

  4. docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt

    简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介 ...

  5. win 10 初始环境变量

    有时用户会修改Win10系统的环境变量,改到后面原来是什么的也记不得了,想要改回去还要去别的电脑查看,这里转载下Win10 64位环境变量的默认初始值. 附:打开环境变量方法:电脑左下右键——系统—— ...

  6. 获得本机Ip地址

  7. NioEventLoopGroup的构造函数

    loop是对thread的封装,里面记录一个selector 一套打完,看下来,就是loopgroup里面一个loop的数组,每一个loop在 new的时候,传入了selector(第二个箭头), 第 ...

  8. day 关于生成器的函数

    def average(): count=0 toatal=0 average=0 while True: value=yield average toatal+=value count+=1 ave ...

  9. 漫步Java------初识java

    一. Java语言概述 语言:是人与人之间用于沟通的一种方式. 例如:中国人与中国人用普通话沟通.而中国人要和英国人交流,就要学习英语. 计算机语言(编程语言): 人与计算机交流的方式.如果人要与计算 ...

  10. Delphi 10.3最新消息

    因为Google Play的要求,使Delphi官方被动的透出点消息:https://community.embarcadero.com/blogs/entry/deadline-approachin ...