2014-09-20 21 views
0

我正在開發一個應用程序,它將柵格/圖像映射(png,tif)提取並顯示到傳單映射中。但是,我不喜歡在提交表單時刷新頁面和地圖。如何回顯一個php表單將jquery提交的數據轉換爲另一個javascript代碼和URL?

另外,我希望地圖只刷新圖像層。使用正常的方式,它充滿了引用。所以我設法讓這個代碼工作。

$('#forms').on('submit',function(e) { 
     $.ajax({ 
      url:'fun.php', 
      data:$('#forms').serialize(), 
      type:'GET', 
      success:function(result){ 
       $('#downloads').html(result); 
      } 
     }); 
     e.preventDefault(); 
    }); 

這裏是傳單圖像層。

raster = L.imageOverlay('<?php echo $datafile;?>', [[33.00, 31.00], [43.50, 35.00]]); 

所以確切的問題是,在$ datafile中無法單張光柵層上回響,我想重置表單提交值之後。我嘗試從圖像層上的傳單方法使用setUrl,但它不起作用。

謝謝你的幫助!

回答

0

問題解決了。首先,我將echo $datafile更改爲echo '<script type="text/javascript">imageUrl = "'. $datafile. '"; </script>';這個js變量在html輸出頁面中被回顯。然後,可以調用js變量imageUrl。

那裏,是圖像顯示的另一個問題。當找不到文件時,我使用display:none來隱藏圖像層div。這導致圖像不顯示。因此,在jquery成功函數中,我不得不添加,$("img.leaflet-image-layer.leaflet-zoom-animated").show();

然後,一位朋友幫我添加一個函數,使用setUrl()傳遞函數,它用於異步更改imageUrl。

相關問題