Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][AJAX][PHP]Wpisanie do inputa po naciśnięciu
Forum PHP.pl > Forum > Przedszkole
Warmix
  1. echo "<input type='text' size='10' name='new_name' />";
  2.  
  3. $a = 'super';
  4.  
  5. echo "<br><br>";
  6. echo $a;


Mam taki kod. Chciałbym teraz, aby po naciśnięciu tekstu wyświetlonego przez echo $a, przez javescript została wprowadzona do inputa zawartość, która jest w zmiennej $a. Pomoże ktoś?
Star
  1. echo "<input type='text' size='10' id='new_name' name='new_name' />";
  2.  
  3. $a = 'super';
  4. echo" <input type='hidden' id='hiddenText' value = '$a' />";
  5. echo "<button onclick='setText();'>click</button>
  6. echo "<br><br>";


I kod js
  1. <script>
  2. function setText()
  3. {
  4. var text = document.getElementById('hiddenText').value;
  5.  
  6. document.getElementById('new_name').value = text
  7. }
viking
Js bezpośrednio nie odczyta zmiennej w PHP. Wpakuj to do jakiegoś elementu o id i w js getelementbyid, queryselector, innerhtml oraz value dla inputa.
Warmix
A jak to puścić w pętli?

Ten sposób nie działa:

  1. $i = 1;
  2. while($i<5)
  3. {
  4. echo" <input type='hidden' id='hiddenText' value = '$i' />";
  5. echo "<button onclick='setText();'>click</button>";
  6. $i++;
  7. }


Teraz w zależności, na który button nacisnę to taka wartość zmiennej $i pojawia się w inpucie?
IAmBoskiM
  1. <?php
  2. echo '<input type="text" size="10" name="new_name" id="inp" />';
  3. $a = 'super';
  4. echo "<script>var a = $a;</script>";
  5. ?>

[JAVASCRIPT] pobierz, plaintext
  1. // przypominam, że ten skrypt bądź jego załącznik musi się znajdować po powyższym kodzie (PHP) inaczej to nie będzie działać
  2. var but = document.getElementById('jakies_id'); // button
  3. var input = document.getElementById('inp');
  4. but.addEventListener('click', function () {
  5. input.value = a;
  6. });
[JAVASCRIPT] pobierz, plaintext
Warmix
Jestem nieco zielony w JS. Próbowałem to jakoś połączyć, wrzucić pętlę itd. ale nie chce działać.
Star
ale po chce chcesz to rozwiazac w taki sposob ?

mozesz przy kazdym inpucie do ktorego chcesz wrzucic wartosc dodac button z podlaczona funkcja ktora doda to do niego:
  1.  
  2. <script>
  3. function setText(id, val)
  4. {
  5. document.getElementById(id).value = val;
  6. }
  7. </script>
  8. <?php
  9. $i = 1;
  10. while($i<5)
  11. {
  12. echo" <input type='text' id='newText_$i' value = '' />";
  13. echo "<button onclick=\"setText('newText_$i', $i);\">click</button>";
  14. $i++;
  15. }
  16. ?>
  17.  
Warmix
Tylko właśnie chodzi o to, że input text musi być jeden, a w pętli tylko przyciski i w zależności który przycisk nacisnę, to taka wartość przekazywana jest do inputa.
Ale już edytowałem twój kod i wychodzi na to, że działa. Dzięki
Star
  1. <script type="text/javascript">
  2.  
  3. function setText(text)
  4. {
  5. document.getElementById('new_name').value = text
  6. }
  7. </script>
  8. <?php
  9.  
  10. echo "<input type='text' size='10' id='new_name' name='new_name' />";
  11.  
  12. $i=1;
  13. while($i<5)
  14. {
  15. echo "<p onclick='setText(".$i.");'>click</p>";
  16. $i++;
  17. }
  18.  
  19. ?>
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.