Js 向表单中添加多个元素
@{
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 向表单中添加多个元素的更多相关文章
- 在HTML文件的表单中添加{%csrf_token%}便可以解决问题
原因是django为了在用户提交表单时防止跨站攻击所做的保护 只需在HTML文件的表单中添加{%csrf_token%}便可以解决问题 ------------------------if判断{% i ...
- 如何在启用SharePoint浏览器功能的InfoPath 表单中添加托管代码以动态地加载并显示图片
InfoPath 的浏览器表单不支持加载并显示图片,当然在模板中可以插入图片,但是如果想显示数据库的一幅图片,或是动态加载一张图片就无能为力了. 基实这个问题可以通过在浏览器表单中使用: " ...
- Spring Security在标准登录表单中添加一个额外的字段
概述 在本文中,我们将通过向标准登录表单添加额外字段来实现Spring Security的自定义身份验证方案. 我们将重点关注两种不同的方法,以展示框架的多功能性以及我们可以使用它的灵活方式. 我们的 ...
- js:表单校验(获取元素、事件)
1.表单校验步骤 (1)确定事件(submit事件),创建一个函数并和该事件绑定. (2)书写函数对输入的数据是否合法进行校验(需要设定ID并通过ID来获取用户输入的数据的值). (3)输入的信息合法 ...
- js+jquery动态设置/添加/删除/获取元素属性的两种方法集锦对照(动态onclick属性设置+动态title设置)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140 ...
- js 交换表单中值
<html> <head> <meta charset="utf-8" /> <script type="text/javasc ...
- js 提交表单添加csrf
function post(path, shipmentMap, method) { method = method || "post"; // Set method to pos ...
- JS验证表单中TEXT文本框中是否含有非法字符
<form id="form" action="" method="post"> <input type="hi ...
- 原 form 表单中 disabled 属性的元素不参与表单提交
https://blog.csdn.net/benben683280/article/details/79173336
随机推荐
- day02 运算符和编码
今日所学 主要是运算符和编码的初认识, 1 还有比较运算 ==,!=,<>,>,<,>=,<=等 2 . 赋值运算 =,+=,-=等 还有今天的难点逻辑运算 ...
- 【转载】《Learn More Study Less》整体性学习方法
原文 忘记在哪里看到这本书的介绍了,据说是一个小子自学1年,完成了4年麻省理工的课程,然后写了一本他学习方法的书.我搜了一下,居然中英文版都有,就花时间好好读了一遍,就是这本. 以下是这本书的完整笔记 ...
- 2.2 BIOS中断
BIOS中断 BIOS中断简介 计算机刚启动时,进入实模式下,此时操作系统跟硬件(例如键盘鼠标显卡等)交互通过BIOS进行的.通过调用中BIOS中断的方式来访问硬件设备. BIOS中断就不详细介绍了. ...
- webView 的种种
1.关于UI 我们在设置webview的时候,有时候会发现在加载的过程中会出现一个黑色的条条,在加载完成的时候有得时候继续存在,有得时候消失不见. 这个黑边是由于webView.scrollview向 ...
- Cracking The Coding Interview5.2
//Given a (decimal - e.g. 3.72) number that is passed in as a string, print the binary representatio ...
- DevExpress v18.1新版亮点——DevExtreme篇(三)
用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExtreme JavaScript Controls v18.1 的新功能 ...
- socket-重叠模型(overlap)
socket-重叠模型(overlap) 重叠模型的基本设计原理便是让应用程序使用一个重叠的数据结构,一次投递一个或多个Winsock I/O请求.针对那些提交的请求,在它们完成之后,应用程序可为它们 ...
- cookie的参数
def set_cookie(self, key, value='', max_age=None, expires=None, path='/', domain=None, secure=False, ...
- TensorFlow函数:tf.ones
tf.ones 函数 ones( shape, dtype=tf.float32, name=None ) 定义于:tensorflow/python/ops/array_ops.py. 请参阅指南: ...
- 使用generator生成dao、mapping和model
我们在ssm框架开发的时候(不限于此框架),为了开发效率.有时候不得不提高一下代码速度.千篇一律的事情谁都头疼,比如写dao,写model,写mapping等等.不仅慢,而且一不留神,还会出错. 今天 ...