Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] użycie znaków tylko dla inputa z tego samego wiersza
Forum PHP.pl > Forum > Przedszkole
masterbx2
mam taki skrypt:

  1.  
  2. <script type="text/javascript">
  3. function znakipl(znak) {
  4. $("#user_slowo").val($("#user_slowo").val() + znak);
  5. }
  6.  
  7.  
  8. <?php
  9. $query = mysql_query("SELECT * FROM tabela ");
  10.  
  11. while ($row = mysql_fetch_array($query))
  12. {
  13. echo '<form action="" method="post" name="plde">';
  14. echo'<table class="wynik"
  15. <tr>
  16. <td class="pytanie">'.$row['pytanie'].'</td>
  17. <td class="user_odp">
  18. <input type="text" id="user_slowo" name="user_slowo[]" size="28"/>
  19. </td>
  20. <td class="znakipl">';
  21. ?>
  22. <a onClick="znakipl('ą'); setFocuspl();">ą</a>
  23. <a onClick="znakipl('ć'); setFocuspl();">ć</a>
  24. <a onClick="znakipl('ę'); setFocuspl();">ę</a>
  25. .............
  26. <?php
  27. echo'
  28. </td>
  29. </tr>
  30. </table>';
  31.  
  32. }



moj problem polega na tym ze znaki wklejaja sie jedynie w pierwsze okno niezalezne od tego z jakiego wiersza znakow uzyjemy.
A chce uzyskac taki efekt aby po kliknieciu na wyswietlone znakipl w danym wierszu owe wklejaly sie jedynie w okno danego wiersza.
wookieb
Czekam na PW z poprawną nazwą tematu.
Ludzie nauczcie się, że PROBLEM mają wszyscy!
Jak piszesz maila to tytułujesz go "Mail do Ciebie?"
masterbx2
post zostal przerobiony a problem niestety zostal...

pozwole sobie odswiezyc temat. mecze sie z tym juz od wczoraj i nie daje wciaz rady... kazda proba konczy sie fiaskiem
BaN
Stosujesz taki sam identyfikator id="user_slowo" do różnych inputów. Musisz zmienić identyfikatory aby rzeczywiście były różne i uwzględnić to w funkcji 'znakipl'
masterbx2
Cytat(BaN @ 19.05.2011, 21:34:41 ) *
Stosujesz taki sam identyfikator id="user_slowo" do różnych inputów. Musisz zmienić identyfikatory aby rzeczywiście były różne i uwzględnić to w funkcji 'znakipl'



znaczy identyfikator mam user_slowo[] aby przypisac do niego petle for

probowalem miedy innymi tak:

  1.  
  2. function znakide(znak) {
  3. var user_slowa = document.getElementById("user_slowo[]");
  4. for (var i = 0; i < user_slowa.length; i++) {
  5. var user_slowo = user_slowa[i];
  6.  
  7. $("#user_slowo").val($("#user_slowo").val() + znak);
  8. }
  9. }
BaN
Cytat(masterbx2 @ 19.05.2011, 22:10:09 ) *
znaczy identyfikator mam user_slowo[] aby przypisac do niego petle for
...

to nie jest identyfikator, to jest nazwa (name="user_slowo[]"), identyfikator to ciąg znaków przy atrybucie id="..."

Może dokładniej w takim razie napiszę o co mi chodziło. Trzeba zmienić identyfikatory np. dodając jakiś numer dla każdego rekordu z bazy, zaś funkcję JS rozbudować o parametr, który będzie oznaczał jakie pole należy zmieniać

zatem w tym skrypcie co podałeś na samym początku należy rozszerzyć funkcję o dodatkowy parametr:
  1. function znakipl(znak, nr) {
  2. $("#user_slowo"+nr).val($("#user_slowo"+nr).val() + znak);
  3. }

w wierszu 11 zainicjować licznik:
  1. $nr_id = 0;


w wierszu 19 dodać licznik do identyfikatora:
  1. <input type="text" id="user_slowo<?php echo ++$nr_id; ?>" name="user_slowo[]" size="28"/>


no i oczywiscie musisz zmienić wywołanie funkcji, aby dodać ten numer przy wywołaniu, czyli od wiersza 23
  1. <a onclick="znakipl('ą',<?php echo $nr_id; ?>); setFocuspl();">ą</a>
  2. ...
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.