Bir form elemanı yakalamak ve sonrası url dinamik nasıl kullanılır?

3 Cevap php

Google Maps üzerinde geçti bir boylam / lat içeren bir URL gönderen bir form oluşturmaya çalışıyorum. Ben bu yüzden boylam / şeklinde giriş alanlara geçirilir enlem, nasıl yani, sonrası URL dinamik bu değerleri kullanarak hakkında gitmek istiyorum bunu almak başardı:

action="search.asp?[lon][lat]

3 Cevap

Eğer formun eylem niteliğini değiştirebilirsiniz javascript kullanma. Yani, bir form oluşturmak ..

<form name="myForm">
  <input type="hidden" name="lon" value="123" />
  <input type="hidden" name="lat" value="321" />
  ...
  <button onclick="setAction();">Submit</button>
</form>

Sonra sayfanın baş setAction işlev eklemek ..

<script type="text/javascript">
  function setAction()
  {
    var lon = document.myForm.lon.value;
    var lat = document.myForm.lat.value;

    document.myForm.action = "search.php?["+lat+"]["+lon+"]"';
    document.myForm.submit();
  }
</script>

Bu ben geçmişte bu yapmış nasıl, yardımcı olur umarım!

Eğer URL içine formdan değerleri almak istiyorsanız, method özniteliğini ayarlamak to get:

<form method="search.asp" action="get">

. Bu lon değerleri ve URL form lat alanları koyacağız. Örnek:

search.asp?lat=[lat value]&lon=[lon value]

Daha fazla bilgi için, okumak this page. Alıntı:

If the processing of a form is idempotent (i.e. it has no lasting observable effect on the state of the world), then the form method should be GET. Many database searches have no visible side-effects and make ideal applications of query forms.

Kullanmayı deneyin:

<form action="search.php" method="get">
 <input type="hidden" name="lon" value="<?php echo $lon_fromGoogleMaps; ?>" />
 <input type="hidden" name="lat" value="<?php echo $lat_fromGoogleMaps; ?>" />
 <!-- The Rest of your Form... -->
 <input type="submit" value="Submit!" />
</form>

Ya da yazı olarak formu kullanmak istiyorsanız:

<form action="search.php?lon=<?php echo $lon_fromGoogleMaps; ?>&amp;lat=<?php echo $lat_fromGoogleMaps; ?>" method="post">
 <!-- The Rest of your Form... -->
 <input type="submit" value="Submit!" />
</form>

Ben de Javascript gibi bu etiketlendi görmek ve Google Maps Javascript dayanır gibi, sen Lon ve Lat Javascript değişken olarak geçirilen olabilir ...

<script type="text/javascript">
 // Obviously, execute this code after the DOM has loaded...
 var formAction = document.searchForm.action;
 formAction = formAction + '?lon=' + lon_fromGoogleMaps + '&amp;lat=' + lat_fromGoogleMaps;
 document.searchForm.action = formAction;
</script>
<form action="search.php" method="post" name="searchForm">
 <!-- The Rest of your Form... -->
 <input type="submit" value="Submit!" />
</form>