Autor Zpráva
Lukasss
Profil *
Ahoj všem,
většinou dokážu vše potřebné vyřešit sám, ale tentokrát si opravdu nevím rady :(

Mám na stránce výpis z databáze řešený pomocí PHP - na stránku se vypíše cca 15 bloků, z nichž každý blok má 3 řádky a na každém řádku je textový údaj který potřebuji nechat uživatele v případě potřeby upravit.

Pomocí JavaScriptu jsem tedy vedle každého bloku vypsal ikonku, na kterou když uživatel klikne tak v daném bloku se na těch 3 řádních vytvoří 3x input typu text a do něj se vypíše to, co tam zrovna má být. Uživatel to v těch třech inputech může upravit.

A nyní nastává problém - potřebuji ty data JAKKOLIV dostat do databáze, resp do jiného PHP skriptu, který je zpracuje.
Problém je ale v tom, že když ty inputy nejsou na stránce už od začátku, ale jsou dynamicky generované javascriptem podle toho, do jakého bloku je uživatel chce dát, tak po odeslání submitem se ty data z nich prostě neodešlou :(


Pro větší názornost - ty inputy jsou generovány v průběhu výpisu bloků v PHP while cyklu tímto způsobem:

<script>
            kde[<?php echo $barva; ?>] = '<input  type="text" name="txt_kde<?php echo $barva; ?>"  value="<?php echo $row["odkaz"]; ?>">';
            kam[<?php echo $barva; ?>] = '<input type="text" name="txt_kam<?php echo $barva; ?>"  value="<?php echo $row["link"]; ?>">';
            pozn[<?php echo $barva; ?>] = '<input type="text" name="txt_pozn<?php echo $barva; ?>"  value="<?php echo $row["pozn"]; ?>">';
          </script>


Jak vidíte, v každém průběhu cyklu si do pole v javascriptu uložím input k danému bloku. Ten input potom při události onClick na daný blok vepíšu pomocí InnerHTML do potřebného bloku. Vše ok, vypíše se, ale to je vše. Nijak ho bohužel nedokážu přinutit aby po submitu ty data z těchto dynamicky vytvořených inputů odeslal.

Moc děkuji všem za rady, už z toho začínám šílet :(
dtr
Profil *
předpokládám, že každá položka má svůj vlastní <form method=".."> <input type="submit" /> </form> ? Možná je ještě potřeba, aby každý formulář měl vlastní id, ale to už si nejsem jist.
Lukasss
Profil *
Nemá, vložil jsem to celé do jednoho formuláře, aby uživatel mohl editovat víc položek najednou. Nicméně zkoušel jsem i tvoji variantu, pro každý blok jeden form, a taktéž to nešlo
perun
Profil
A vyskúšal si už pozrieť, v akom tvare ti príde ten formulár do PHP skriptu? Neodošle sa celý formulár, alebo len dané časti?

Pozeral si si vo Firebugu, ako vyzerá DOM po tom, čo javascript vygeneruje inputy? Patria pod daný formulár?

Lukasss:
value="<?php echo $row["odkaz"]; ?>">'

BTW: escapuj.
value="<?php echo htmlspecialchars($row['odkaz'], ENT_QUOTES); ?>"
Alphard
Profil
Lukasss:
Tohle je otázka možná spíš na javascript. Nejsem si jist, ale problémy by možná mohlo dělat innerHtml. Přístup přes DOM by snad měl fungovat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: