• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

1 klik wstawia dane do 1szego inputa 2 klik wstawia do 2go inputa i wysyła

VPS Starter Arubacloud
0 głosów
241 wizyt
pytanie zadane 2 czerwca 2023 w JavaScript przez juuunior Początkujący (460 p.)
edycja 2 czerwca 2023 przez juuunior

Witam serdecznie Pasjonatów

Jestem w trakcje tworzenia segregacji wyświetlania wyników katalogów z bazy, ich kolejność jest uzależniona od wartości w wierszu bazy o nazwie 'symbol_systemowy',zrobiłem przenoszenie przyciskiem na pierwszą pozycję poprzez odczytanie największego nr i update z tym numerem +1 .

Teraz próbuję zrobić zamianę miejsc katalogów pomysł mam taki że jednym kliknięciem pobieram nr 'symbol_systemowy' pierwszego katalogu wrzucam do inputa form a drugim kliknięciem wrzucam nr drugiego 'symbol_systemowy' i wrzucam do drugiego inputa od razu wysyłam... odebrałbym to ifem w php i podmienił im 'symbol'.

Wyświetlanie wyników jest w pętli while zrobiłem pobranie nr 'symbol' przez kliknięcie (Zamień z ''class litera'') ale nie wiem jak wstawić dane w inputy i wysłać form.  

  <div class="card">
                       
    <div class="up">
    <img class="obrazek" src="https://bleble.com/pl/<?php echo $row['sciezka']?>.jpg">
       <?php echo '<div class="edytuj">'.'<a href="panel.php?co=katalogi_pozycjonowanie&updateprodukt='.$row['symbol_systemowy'].'">Przesuń na 1.poz</a>'."</div>";?>
       <div class="litera" onclick="sprawdz(<?php echo $row['symbol_systemowy'] ;?>)" id="<?php echo $row['symbol_systemowy'] ;?>" >Zamień z</div>
       <?php echo '<div class="wylacz">'.'<a href="panel.php?co=katalogi_pozycjonowanie&updatewylacz='.$row['symbol_systemowy'].'">Wyłącz</a>'."</div>";?>
    </div>

    <div class="down">
       <?php echo '<div class="textb">'.$row['nazwa']. '</div>'; ?>
       <?php echo '<div class="textb">'.$row['kolejnosc']. '</div>'; ?>
    </div>
  </div>
<?php  
  } 
?>

<form method="POST">
    S:<input type="text" name="source" id="source"><br>
    T:<input type="text" name="target" id="target"><br>
      <input type="submit" value="przesuń"><br>
 </form>
 <?php
  if (isset($_REQUEST['source']) && isset($_REQUEST['target'])) {
    $source = $_REQUEST['source'];
    $target = $_REQUEST['target'];
    echo "Przesuwam katalog z pola $source na pole $target";
  }

?>
<script>
    function sprawdz(e)
    {
        alert(e);
     //   let source = document.getElementById('source');
     //   let target = document.getElementById('target');
        

     //       if (source.value) { //jeżeli podano źródło
     //           target.value = e.currentTarget.id;
                
     //       } else { //jeżeli jeszcze nie ma źródła
     //           source.value = e.currentTarget.id;
     //       }
   
    }

</script>    

    

 

1 odpowiedź

+1 głos
odpowiedź 3 czerwca 2023 przez VBService Ekspert (255,840 p.)
wybrane 5 czerwca 2023 przez juuunior
 
Najlepsza

Proponuje zapis, gdy jest source "pusty" to 1 klik przypisuje

if (! source.value) 

i proponuje dodać linie, która sprawdza czy 2 klik nie pochodzi z tego samego "Zamień z"

if (source.value !== e.dataset.id)

 

proponuje zamiast

<div class="litera" onclick="sprawdz(<?php echo $row['symbol_systemowy']; ?>)" id="<?php echo $row['symbol_systemowy']; ?>" >Zamień z</div>

zapisać

    <div class="litera">
      <a href="#" data-id="<?php echo $row['symbol_systemowy']; ?>" onclick="sprawdz(this)">Zamień z</a>
    </div>


całość proponowanych zmian: on-line.

 

 

P.S możesz spróbować użyć Event Delegation

[ on-line ]

      <div class="litera">
        <a href="#" data-id="<?php echo $row['symbol_systemowy']; ?>">Zamień z</a>
      </div>

 

1
komentarz 5 czerwca 2023 przez juuunior Początkujący (460 p.)

dzięki VBService

Twoje cenne rady bardzo mi pomogły...  działa :)

komentarz 7 czerwca 2023 przez VBService Ekspert (255,840 p.)

Jeszcze dodam

taki zapis

<a href="#">

nie określamy żadnej konkretnej kotwicy, więc link ten działa jako rodzaj pustego linku, m. in. domyślną "akcją" dla przeglądarek w takiej sytuacji jest przewinięcie strony "do góry", aby temu zapobiec można użyć zapisu w kodzie javascript (preventDefault())

e.preventDefault();

a w html-u zmienić zapis dla onclick na

onclick="sprawdz(event)"

a w js

e.target.dataset.id

 

całość on-line.

Podobne pytania

0 głosów
1 odpowiedź 177 wizyt
pytanie zadane 2 maja 2019 w PHP przez Webmaster123 Początkujący (440 p.)
0 głosów
3 odpowiedzi 7,058 wizyt
0 głosów
2 odpowiedzi 337 wizyt

93,004 zapytań

141,969 odpowiedzi

321,248 komentarzy

62,340 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...