Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: javascript w generowanym formularzu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
borpaw

Jak zrobić żeby w tak generowanym formularzu zadziałała obsługa javascript?
Formularz się generuje prawidłowo ale javascript w nim nie działa

<html>

<head>

<script type="text/javascript">


$().ready
(

function()
{


$(\"#airports\").focus().autocomplete(\"../register_user/airports_li.php\", {

width: 180,
selectFirst: true,
max:200,
delay: 100,

formatItem: function(row, i, max) { return row[0];
},

formatMatch: function(row, i, max) {
return row[0];
},

formatResult: function(row) {
return row[0];
}
}).result( function(event, data, formatted) { $(\"#country\").val(data[1]); } );


}

)
</script>

</head>

<body>

<?php


$airports = "";
$airports = $_POST["airports"];

echo "<table border='0'>";
echo "<tr>";
echo "<td style='width:180px;'>";
echo "<span class='tekst_login'>Your home base ICAO code:</span>";
echo "</td>";
echo "<td>";

echo "<input type='text' id='airports' name='airports' style='width:180px' value='$airports'
maxlength=4 onkeyup=\"this.value = this.value.toUpperCase()\"></input>";




echo "<input type='text' id='country' name='country' style='width:200px' READONLY></input>";

echo "</td>";

echo "</table>";

?>

</body>
</html>
erix
  1. bbcode, bo się nie da tego czytać
  2. puść gdzieś to na żywo, bo wątpię, aby ktoś specjalnie kopiował do siebie i sprawdzał
borpaw
to może inaczej, generuje jakiegoś inputa o nazwie "test" i chcę zrobić tak aby na docelowej stronie była dla niego obsługa javascript tyle tylko że jak napisze obsługe na stronie docelowej to kod jawy nie zwiąże się z inputem którego jeszcze nie ma. próbowałem jQuery live

  1.  
  2. $('#test').live('click', function() {
  3. $('#test').val('cos tam');
  4. });
  5.  


ale chodzi mi to żeby input dostał obsługę zaraz po pojawieniu się na stronie docelowej a nie po kliknięciu
wookieb
http://docs.jquery.com/Tutorials:Introduci...%29.ready%28%29
I broń boże nie mów JAVA na JavaScript
borpaw
czy to się uruchamia za każdym razem jak sie zmieni zawartość strony?

kolejność jest taka
1) na stronie pojawia sie formularz
2) po wykonaniu jakiejś akcji pojawiają sie dodatkowe pola i to dla nich ma być obsługa zrobiona dynamicznie
wookieb
A to teraz jest bardziej jasne.
Musisz w takim wypadku dodać kod obsługi formularza w momencie
Cytat
1) na stronie pojawia sie formularz

Niestety nie widzę czegoś takiego w twoim kodzie.
borpaw
no ale jak?
wookieb
Kompletnie się nie rozumiemy. To co masz to jakiś autocompleter a ty mówisz o pojawiających się formularzach (których nie widzimy) i o rzeczach które chcesz zrobić (a których nawet nie masz).
Więc napisz wszystko jeszcze raz od początku, jasno krok po kroku.
borpaw

To jeszcze raz

kolejność jest taka
1) na stronie pojawia sie formularz
2) po wykonaniu jakiejś akcji pojawiają sie dodatkowe pola i to dla nich ma być obsługa zrobiona dynamicznie

TĄ OBSŁUGĄ JEST AUTOCOMPLETE DLA INPUTA, KTÓRY JEST DODANY NA STRONE DYNAMICZNIE Z PLIKU PHP PRZEZ AJAXA
wookieb
Pojawia się formularz tzn? ładujesz go ajaxem czy jak?
Zresztą obojętnie czy ładujesz ajaxem czy nie przenieś kod z funkcji ready() ZA formularz

pseudoe kod
  1. <script type="text/javascript">
  2. ready(function()
  3. {
  4. // twoj kod
  5. })
  6.  
  7. // formularz


na
  1. //formularz
  2. <script type="text/javascript">
  3. // twoj kod
borpaw
tak
erix
No to nie możesz zmodyfikować metody, która wstrzykuje formularz do kodu?
borpaw
Robiłem to tak i to działa ale nie chce obsługi na onClick tylko żeby input dostał tą obsługe bez żadnych akcji dodatkowych dlatego że jak przejedziesz formularz tabulatorem to absługa nie zadziała a ma zadziałać

  1.  
  2. echo "<input type='text' id='airline' name='airline' style='width:387px' value='$airline' onclick=
  3. '
  4. $().ready
  5. (
  6. function()
  7. {
  8. if(trim($(\"#airline\").val()) == \"- Airline -\")
  9. {
  10. $(\"#airline\").val(\"\");
  11. };
  12. $(\"#airline\").focus().autocomplete(\"../register_user/airline_li.php\", { max:200, delay: 100 } )
  13. }
  14. )'
  15.  
  16. onblur=
  17. '
  18. $().ready
  19. (
  20. function()
  21. {
  22.  
  23. if(trim($(\"#airline\").val()) == \"\")
  24. {
  25. $(\"#airline\").val(\"- Airline -\");
  26. }
  27.  
  28. }
  29. )'
  30.  
  31. >
  32. </input>";
  33.  


Cytat(wookieb @ 13.07.2010, 15:03:57 ) *
Pojawia się formularz tzn? ładujesz go ajaxem czy jak?
Zresztą obojętnie czy ładujesz ajaxem czy nie przenieś kod z funkcji ready() ZA formularz

pseudoe kod
  1. <script type="text/javascript">
  2. ready(function()
  3. {
  4. // twoj kod
  5. })
  6.  
  7. // formularz


na
  1. //formularz
  2. <script type="text/javascript">
  3. // twoj kod



wstawiam obsługę na końcu pliku i obsługa nie działa

  1.  
  2. <script type="text/javascript">
  3.  
  4. $().ready
  5. (
  6. function()
  7. {
  8. $("#airline").focus().autocomplete("../register_user/airline_li.php", { max:200 } )
  9. }
  10. );
  11. </script>
  12.  
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.