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

220 lines
9.8 KiB
HTML
Raw Normal View History

2022-10-24 02:38:36 +00:00
<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>