Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Zczytywanie danych z linku
Forum PHP.pl > Forum > Przedszkole
arek50
Mam problem ze zczytaniem wartości z adresu URL. Brakuje mi jeszcze tylko tego, aby przy braku ciągu ?parametr=wartość w adresie wpisać domyślną wartość do formularza np. wartośćdomyślna.

Jak to mogę zrobić? Próbowałem tak i nie zadziałało.

  1. <script type="text/javascript">
  2. function init()
  3. { if (document.getElementById("url").value == 0) {
  4. document.getElementById("url").value = "wartośćdomyślna";
  5. } else {document.getElementById("url").value = window.location.search;
  6. }
  7. }
  8. window.onload=init;</script>

Pole input:
  1. <input type='text' name='app' value='domyslnawartość' id="url" readonly="readonly" />


Wstawianie wartościdomyślnej działa w IE i w Firefoxie, ale tylko po odświeżeniu strony. Chodzi o to, aby przy braku parametru wartość lądowała w polu input bez żadnego odświeżania strony. Teraz bez odświeżania strony to pole jest puste.

No i cały skrypt:
  1. <script language='JavaScript' src='http://labenete.pl/jsval2.js'></script>
  2. <script type="text/javascript">
  3. function init()
  4. { if (document.getElementById("url").value == 0) {
  5. document.getElementById("url").value = "wartośćdomyślna";
  6. } else {document.getElementById("url").value = window.location.search;
  7. }
  8. }
  9. window.onload=init;</script>
  10. <script language='javascript' type='text/javascript'>
  11. function showRss_s()
  12. {
  13. document.subscribe_form_s.action='http://labenete.pl/rss_subscription.php';
  14. document.subscribe_form_s.submit();
  15. }
  16. </script><form name='subscribe_form_s' method='post' action='http://labenete.pl/responder.php' onSubmit='return validateform_s();'>
  17. <table width=70% cellpadding=2 cellspacing=2 border=0><tr><td colspan='2' align='center'><strong>Proszę podaj swoje Imię, adres Email i naciśnij wyślij.</strong></td></tr>
  18. <tr>
  19. <td align=right>Imię:</td>
  20. <td><input type=text size=20 name='Name1' value=''></td>
  21. </tr>
  22. <tr>
  23. <td align=right>Email:</td>
  24. <td><input type=text size=20 name='Email1' value=''></td>
  25. </tr>
  26. <tr>
  27. <td align=right></td>
  28. <td><input type='text' name='app' value='wartośćdomyślna' id="url" readonly="readonly" /></td>
  29. </tr>
  30. <tr>
  31. <td colspan=2 align=center><input type='submit' name='00submit00' value=' >>>WYŚLIJ<<< '></td>
  32. </tr>
  33. </table>
  34. <input type=hidden name=campid value='8'>
  35. <input type=hidden name=optional_url value=''>
  36. </form>
DiH
Nie tędy droga. PHP! Przekazując
Kod
http://strona.com?sub=news&id=wartosc
możesz sprawdzić:
1. Czy zmienna id jest w ogóle zadeklarowana - czyli czy została przesłana w adresie:
  1. if(isset($_GET['id'])) { echo 'Zmienna zadeklarowana.'; }

2. Czy zmienna np. sub zawiera pożądaną wartość:
  1. if($_GET['sub']=='news') { echo 'Wartość zmiennej sub to news'; }


Zatem powinno Cię zadowolić:
  1. if(!isset($_GET['zmienna'])) { // jeżeli zmienna nie jest w ogóle przekazana/zadeklarowana
  2. $domyslna = "inna_wartosc";
  3. }
  4. else {
  5. $domyslna = $_GET['zmienna']; // jezeli zmienna jest przekazana to wpisz jej wartosc w pole
  6. }
A w HTML oczywiście:
  1. <input type="text" value="<?php echo $domyslna; ?>">

arek50
Jedyny problem jest taki, że nie za bardzo mogę użyć PHP, gdyż ten formularz ma być na Wordpressie, a on czyści tablice.
Próbowałem już tego, a nie ma sensu ingerować w kod wordpressa.

Musze sobie poradzić bez php. Najlpiej na Javascriptcie.
DiH
Jeżeli nie uda Ci się tego zrobić w JS, to zawsze pozostaje podlinkowanie do skryptu php na innym serwerze, który przetrawi twojego linka i odeśle dane pod wybrany adres na wordpressie. To oczywiście zajmie sporo czasu.
arek50
Dzięki. O tym nie pomyślałem. Dam radę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.