www.lightcourse.com/app/home/view/default/member/buy/buy_address_add.html

220 lines
9.8 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<script>
var local;
var map;
var lst_name='';
function change_map(){
var name=$("#area_info").val();
if(name!='' && lst_name!=name){
lst_name=name;
map.setCurrentCity(name);
map.centerAndZoom(name,16);
map.clearOverlays();
local.search(name);
}
}
$(function(){
map = new BMap.Map("allmap");
var lng = '';
var lat = '';
if(!lng && !lat){
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function (r) {
if (this.getStatus() == BMAP_STATUS_SUCCESS) {
var lng = r.point.lng;
var lat = r.point.lat;
var point = new BMap.Point(lng, lat);
map.centerAndZoom(point, 16);
map.addControl(new BMap.NavigationControl());
map.enableScrollWheelZoom();
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
document.getElementById("longitude").value = lng;
document.getElementById("latitude").value = lat;
} else {
alert('failed' + this.getStatus());
}
}, {enableHighAccuracy: true})
}else{
var point = new BMap.Point(lng, lat);
map.centerAndZoom(point, 16);
map.addControl(new BMap.NavigationControl());
map.enableScrollWheelZoom();
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
}
var options = {
onSearchComplete: function(results){
// 判断状态是否正确
if (local.getStatus() == BMAP_STATUS_SUCCESS){
if(results.getCurrentNumPois()>0){
map.clearOverlays(); //清除标注 或者可以把market 放入数组
var point = new BMap.Point(results.getPoi(0).point.lng , results.getPoi(0).point.lat);
var marker = new BMap.Marker(point);
map.centerAndZoom(point, 16);
map.addOverlay(marker);
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
document.getElementById("longitude").value = results.getPoi(0).point.lng;
document.getElementById("latitude").value = results.getPoi(0).point.lat;
}
}
}
};
local = new BMap.LocalSearch(map, options);
map.addEventListener("click", function(e){
// alert(e.point.lng + ", " + e.point.lat);
map.clearOverlays(); //清除标注 或者可以把market 放入数组
var point = new BMap.Point(e.point.lng , e.point.lat);
var marker = new BMap.Marker(point);
map.addOverlay(marker);
marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
document.getElementById("longitude").value = e.point.lng;
document.getElementById("latitude").value = e.point.lat;
});
})
</script>
<div class="dsc-form-default">
<form method="POST" id="addr_form" action="{:url('Buy/add_inv')}">
<dl>
<dt><i class="required">*</i>{$Think.lang.cart_step1_receiver_name}</dt>
<dd>
<input type="text" class="text w100" name="true_name" maxlength="20" id="true_name" value=""/>
</dd>
</dl>
<dl>
<dt><i class="required">*</i>{$Think.lang.cart_step1_area}</dt>
<dd>
<div id="region" onclick="change_map()">
<select class="w110">
<option value="0">{$Think.lang.please_select_address}</option>
</select>
<input type="hidden" value="" name="city_id" id="city_id">
<input type="hidden" name="area_id" id="area_id" class="area_ids"/>
<input type="hidden" name="area_info" id="area_info" class="area_names"/>
</div>
</dd>
</dl>
<dl>
<dt><i class="required">*</i>{$Think.lang.member_map_address}</dt>
<dd>
<input type="text" class="text w500" name="address" id="address" maxlength="80" value="" onkeyup="local.search($(this).val());"/>
<p class="hint">{$Think.lang.cart_step1_true_address}</p>
</dd>
</dl>
<dl>
<dt>{$Think.lang.location_map}</dt>
<dd>
<input name="longitude" id="longitude" value="" type="hidden" />
<input name="latitude" id="latitude" value="" type="hidden" />
<div id="allmap" style="width:530px;height: 350px;margin-top: 20px"></div>
</dd>
</dl>
<dl>
<dt> <i class="required">*</i>{$Think.lang.cart_step1_mobile_num}</dt>
<dd>
<input type="text" class="text w200" name="mob_phone" id="mob_phone" maxlength="15" value=""/>
&nbsp;&nbsp;({$Think.lang.ds_or})&nbsp;{$Think.lang.cart_step1_phone_num}
<input type="text" class="text w200" id="tel_phone" name="tel_phone" maxlength="20" value=""/>
</dd>
</dl>
</form>
</div>
<script type="text/javascript">
$(document).ready(function() {
regionInit("region");
$('#addr_form').validate({
rules: {
true_name: {
required: true
},
area_id: {
required: true,
min: 1,
checkarea: true
},
address: {
required: true
},
mob_phone: {
required: checkPhone,
minlength: 11,
maxlength: 11,
digits: true
},
tel_phone: {
required: checkPhone,
minlength: 6,
maxlength: 20
}
},
messages: {
true_name: {
required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_input_receiver}'
},
area_id: {
required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_choose_area}',
min: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_choose_area}',
checkarea: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_choose_area}'
},
address: {
required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_input_address}'
},
mob_phone: {
required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_telphoneormobile}',
minlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_mobile_num_error}',
maxlength: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_mobile_num_error}',
digits: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_mobile_num_error}'
},
tel_phone: {
required: '<i class="iconfont">&#xe64c;</i>{$Think.lang.cart_step1_telphoneormobile}',
minlength: '<i class="iconfont">&#xe64c;</i>',
maxlength: '<i class="iconfont">&#xe64c;</i>'
}
},
groups: {
phone: 'mob_phone tel_phone'
}
});
});
function checkPhone() {
return ($('input[name="mob_phone"]').val() == '' && $('input[name="tel_phone"]').val() == '');
}
function submitAddAddr() {
if ($('#addr_form').valid()) {
$('#buy_city_id').val($('#region').find('select').eq(1).val());
$('#city_id').val($('#region').find('select').eq(1).val());
if(isNaN($('#region').find('select').eq(1).val())){
alert('{$Think.lang.location_area_last_level}');return;
}
var datas = $('#addr_form').serialize();
$.post("{:url('Buy/add_addr')}", datas, function(data) {
if (data.state) {
var true_name = $.trim($("#true_name").val());
var tel_phone = $.trim($("#tel_phone").val());
var mob_phone = $.trim($("#mob_phone").val());
var area_info = $.trim($("#area_info").val());
var address = $.trim($("#address").val());
showShippingPrice($('#city_id').val(), $('#area_id').val());
hideAddrList(data.addr_id, true_name, area_info + '&nbsp;&nbsp;' + address, (mob_phone != '' ? mob_phone : tel_phone));
} else {
alert(data.msg);
}
}, 'json');
} else {
return false;
}
}
</script>