简体   繁体   English

如何通过使用javascript和html5应用的mysql数据库在iphone应用程序中创建可点击的电话号码?

[英]how to make a clickable phone number in iphone application by using javascript and html5 applied mysql database?

and I know that <a href="tel:1-801-555-1212">1-801-555-1212</a> will make this certain number be clickable. 而且我知道<a href="tel:1-801-555-1212">1-801-555-1212</a>将使该特定数字成为可点击的。 I tested it and it works fine. 我测试了它,并且效果很好。

My question is if I do have a variable phone which will call from database via mysql, how can I make this variable be clickable? 我的问题是,如果我有一个可变电话,它将通过mysql从数据库中调用,如何使该变量可单击? I've tried a lot of way but none of them work. 我已经尝试了很多方法,但是没有一个起作用。 I used the following link to create a store locator page http://code.google.com/apis/maps/articles/phpsqlsearch.html 我使用以下链接创建了商店定位器页面http://code.google.com/apis/maps/articles/phpsqlsearch.html

and my original code is here. 我的原始代码在这里。

<!DOCTYPE html> 

Store Locate 店铺定位

     <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAtwc3xGzBndDAUOSllG2AkxTnNPa_SyQGEldLwhmK8Cfx_H4lPRTZuzWKU2EDVO1MyUD3Ym_0fNuEiw" type="text/javascript"></script>




       <script src="jquery-1.5.2.min.js"></script>
      <script>



   // One-shot position request.
   navigator.geolocation.getCurrentPosition(showMap);

function showMap(position) {
  // Show a map centered at (position.coords.latitude, position.coords.longitude).
}

map.setCenter(new google.maps.LatLng(position.coords.latitude, position.coords.longitude), 13); map.setCenter(new google.maps.LatLng(position.coords.latitude,position.coords.longitude),13);

    <script type="text/javascript">
    //<![CDATA[
    var map;
    var geocoder;

    function load() {
      if (GBrowserIsCompatible()) {
        geocoder = new GClientGeocoder();
        map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(40, -100), 4);
      }
    }

   function searchLocations() {
     var address = document.getElementById('addressInput').value;
     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
         searchLocationsNear(latlng);
       }
     });
   }

   function searchLocationsNear(center) {
     var radius = document.getElementById('radiusSelect').value;
     var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var markers = xml.documentElement.getElementsByTagName('marker');
       map.clearOverlays();

       var sidebar = document.getElementById('sidebar');
       sidebar.innerHTML = '';
       if (markers.length == 0) {
         sidebar.innerHTML = 'No results found.';
         map.setCenter(new GLatLng(40, -100), 4);
         return;
       }

       var bounds = new GLatLngBounds();
       for (var i = 0; i < markers.length; i++) {
         var name = markers[i].getAttribute('name');
         var address = markers[i].getAttribute('address');
         var distance = parseFloat(markers[i].getAttribute('distance'));
         var phone = markers[i].getAttribute('phone');
         var url = markers[i].getAttribute('url');
         var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
                                 parseFloat(markers[i].getAttribute('lng')));

         var marker = createMarker(point, name, address, phone, url);
         map.addOverlay(marker);
         var sidebarEntry = createSidebarEntry(marker, name, address, distance, phone, url);
         sidebar.appendChild(sidebarEntry);
         bounds.extend(point);
       }
       map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
     });
   }

    function createMarker(point, name, address, phone, url) {
      var marker = new GMarker(point);
      var html = '<b>' + name + '</b> <br/>' + address + '</b> <br/>' + phone + '</b> <br/>' + url + '</b> <br/>'

      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }

    function createSidebarEntry(marker, name, address, distance, phone, url) {
      var div = document.createElement('div');
      var html = '<b>' + name + '</b> (' + distance.toFixed(1) + ')<br/>' + address + '</b> <br/>' + phone + '</b> <br/>' + url;
      div.innerHTML = html;
      div.style.cursor = 'pointer';
      div.style.marginBottom = '5px'; 
      GEvent.addDomListener(div, 'click', function() {
        GEvent.trigger(marker, 'click');
      });
      GEvent.addDomListener(div, 'mouseover', function() {
        div.style.backgroundColor = '#eee';
      });
      GEvent.addDomListener(div, 'mouseout', function() {
        div.style.backgroundColor = '#fff';
      });
      return div;
    }
    //]]>
  </script>

I add a variable phone which will call from mysql. 我添加了一个可变电话,它将从mysql调用。 and my question is how can I make it clickable?...I tried to modify following code in many ways 我的问题是如何使它可点击?...我试图以多种方式修改以下代码

function createSidebarEntry(marker, name, address, distance, phone, url) {
          var div = document.createElement('div');
          var html = '<b>' + name + '</b> (' + distance.toFixed(1) + ')<br/>' + address + '</b> <br/>' + phone + '</b> <br/>' + url;

but I always just got code error. 但我总是只是代码错误。 anyone can help me?? 任何人都可以帮助我吗? thanks 谢谢

You can surround the phone number by a "a" tag with a href="tel:{PHONE NUMBER}" 您可以在电话号码前加上带有href =“ tel:{PHONE NUMBER}”的“ a”标签

How to mark-up phone numbers? 如何标记电话号码?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM