Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][AJAX][PHP]Problem z ff przy zależnych polach formularza
Forum PHP.pl > Forum > Przedszkole
hankos0
Witajcie. Po bezskutecznych próbach samodzielnego poradzenia sobie z problemem proszę Was o pomoc.
Potrzebuję mieć w formularzu na stronie dwa pola (jedno zależne od drugiego), do tego korzystające z autouzupełnienia.
W tym celu przerobiłam nieco sprypt ze strony http://www.blueicestudios.com/chained-sele...php-mysql-ajax/ . Teraz mam tak:
plik html
  1. <script type="text/javascript" >
  2. $(document).ready(function() {
  3. $('#wait_1').hide();
  4. $('#drop_1').change(function(){
  5.  
  6. $('#result_1').hide();
  7. $.get("func.php", {
  8. func: "drop_1",
  9. drop_var: $('#drop_1').val()
  10. }, function(response){
  11. $('#result_1').fadeOut();
  12. setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
  13.  
  14. });
  15. return false;
  16. }).trigger("change"); //trigger the change event that you just created
  17. });
  18.  
  19. function finishAjax(id, response) {
  20. $('#wait_1').hide();
  21. $('#'+id).html(unescape(response));
  22. $('#'+id).fadeIn();
  23. }
  24.  
  25. <form method="post" action="">
  26.  
  27. <div class="form_left">
  28. <p>opcja 1: </p>
  29. </div>
  30. <div class="form_right">
  31. <?php getTierOne(); ?>
  32. <span id="wait_1" ></span>
  33. </div>
  34. <div class="form_left">
  35. <p>opcja 2: </p>
  36. </div>
  37. <div class="form_right">
  38. <span id="result_1" class="person_form" ></span>
  39. </div>
  40. </form>

plik funk.php
  1. <?php
  2. function getTierOne()
  3. {
  4. ?>
  5. <script>
  6. $(function() {
  7. var availableTags = [<?php mysql_connect('localhost', 'root', 'pass') or die(mysql_error()); mysql_select_db('baza') or die(mysql_error());mysql_query('SET NAMES utf8');$result = mysql_query('SELECT DISTINCT opcja1 FROM short') or die(mysql_error());while($tier = mysql_fetch_array( $result )) {echo '"'.$tier['opcja1'].'",';}?>];
  8. $( "#drop_1" ).autocomplete({
  9. source: availableTags
  10. });
  11. });
  12. </script>
  13. <?php
  14. echo '<input name="drop_1" id="drop_1" value="" />';
  15.  
  16. }
  17.  
  18. //**************************************
  19. // First selection results //
  20. //**************************************
  21. if($_GET['func'] == "drop_1" && isset($_GET['func'])) {
  22. drop_1($_GET['drop_var']);
  23. }
  24.  
  25. function drop_1($drop_var)
  26. {
  27. ?>
  28. <script>
  29. $(function() {
  30. var availableTags = [<?php mysql_connect("localhost", "root", "pass") or die(mysql_error());mysql_select_db("baza") or die(mysql_error());mysql_query('SET NAMES utf8');$result = mysql_query("SELECT * FROM short WHERE opcja1='$drop_var'") or die(mysql_error()); while($drop_2 = mysql_fetch_array( $result )) {echo '"'.$drop_2['opcja2'].'",';}?>];
  31. $( "#tier_two" ).autocomplete({
  32. source: availableTags
  33. });
  34. });
  35. </script>
  36. <?php
  37. echo '<input name="tier_two" id="tier_two" value="" />';
  38. }
  39. ?>
  40.  


I problem:
W FF śmiga aż miło, natomiast w IE wczytuje się tylko pierwsze pole, drugi zależny input ani drgnie. Pomóżcie proszę.
devbazy
Uroki IE, można było się tego spodziewać. W jakiej konkretnie wersji IE występuje ten problem?
hankos0
Ja testuję na IE8 ale właśnie zauważyłam, że w google chrome też mam ten problem.

Nikt nie ma pomysłu jak to rozwiązać?
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.