Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]2 formularze
Forum PHP.pl > Forum > Przedszkole
Randallmaster
Witam,

pobieram listę wyników z bazy danych i wyświetlają mi się takie same formularze którymi zmieniam dane w bazie:
  1. $("form#form_zaplacono").submit(function() {
  2. var fv_id = $('input[name=fv_id]');
  3. var fv_paid = $('input[name=fv_paid]');
  4. var data = 'fv_id=' + fv_id.val() + '&fv_paid=' + fv_paid.val();
  5. $.ajax({
  6. type: "POST",
  7. url: "../ins/zaplacono.php",
  8. data: data,
  9. success: function(value){
  10. $('#b_paid').hide();
  11. }
  12. });
  13. return false;
  14. });


gdy klikam na któryś pobiera id tego pierwszego jak pobrać dane tego na którego kliknąłem ?
wujek2009
W kodzie musisz przekazać identyfikator, który ma zostać pobrany. Spójrz na poniższe dwa rozwiązania, wybierz, który lepszy.
  1. <a href="java script:void(0);" class="specjalny" id="1">link 1</a>
  2. <a href="java script:void(0);" class="specjalny" id="2">link 2</a>
  3.  
  4. <script type="text/javascript">
  5. <!--
  6. $(document).ready(function() {
  7. $("a.specjalny").click(function() {
  8. var identyfikator = $(this).attr('id');
  9.  
  10. alert('Identyfikator linka to: ' + identyfikator);
  11. });
  12. });
  13. -->


I zamiast alertu wprowadzasz kod ajaxowy, który pobierze z bazy dane, które będą spełniać odpowiedni warunek.
Innym wyjściem jest opcja onclick, zobacz:
Kod
<a href="java script:void(0);" onclick="pobierzDane(1);">link 1</a>
<a href="java script:void(0);" onclick="pobierzDane(2);">link 2</a>

<script type="text/javascript">
<!--
    function pobierzDane(identyfikator)
    {
        alert('Identyfikator linka to: ' + identyfikator);
    }
-->
</script>
mortus
W formularzu możesz użyć elementu ukrytego:
  1. <input type="hidden" name="id" value="ID" />

lub buttona:
  1. <button type="submit" name="id" value="ID">Zrób coś</button>

gdzie:
ID - to odpowiedni identyfikator

@wujek2009: Rozwiązanie może i łatwe, ale kod nie przejdzie walidacji (X)HTML, ponieważ id elementu nie może rozpoczynać się cyfrą, a to z kolei oznacza, że nie może być liczbą. Poza tym kolega korzysta z formularzy, a odnośniki nijak się do tego mają.

@Randallmaster: Pokaż HTML zawierający te Twoje formularze.
Randallmaster
  1. <form id="form_zaplacono" action="?" method="post">
  2. <input type="hidden" name="fv_id" value="<?= $r['fv_id']; ?>" />
  3. <input type="hidden" name="fv_paid" value="<?= number_format($cen, 2, '.', ''); ?>" />
  4. <input id="b_paid" type="submit" class="button_green" value="Zapłacono" style="padding: 3px; font-size: 10px;" />
  5. </form>


formularze wszystkie wyglądają tak samo tylko zmieniają się zmienne
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.