Okamžité zobrazenie vkladaných znakov do formulára – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Okamžité zobrazenie vkladaných znakov do formulára – JavaScript, AJAX, jQuery – Fórum – Programujte.comOkamžité zobrazenie vkladaných znakov do formulára – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Dušan
~ Anonymní uživatel
62 příspěvků
4. 7. 2021   #1
-
0
-

Ahojte,

som málo skúsený a neviem si rady s tým, ako by som zobrazoval na stránke údaj znak po znaku, hneď, ako je vkladaný do html formulára. Teda ak chcem vložiť napr. hodnotu 123, po napísaní prvého znaku 1 sa mi tento znak zobrazí aj pod formulárom, bez stláčania nejakého submitu. Zároveň by som potreboval dostať vloženú hodnotu do php premennej.

Možno som to dobre nevysvetlil: mám pevnú sumu 10 Eur, do formuláru zadávam dobrovoľný prípevok a chcem, aby sa mi po vložení prvého znaku 1 zobrazil text "10 + 1 spolu 11", po vložení posledného znaku "10 + 123 spolu 133" 

<form>
Dobrovoľný príspevok [1-999]: <input type="text" placeholder="EUR" autocomplete="off" onkeypress="return onlyNumbers(event)" style="text-align:center; background-color:#ffffff; font-family: Verdana;font-weight: bold;font-size:14;" name="prispevok" maxlength="3" size="3">
</form>

.

Predpokladám, že tu bude treba použiť AJAX, ale od obeda týram strýca Google, nepomohol...

Poradí mi niekto, prosím?

Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1881 příspěvků
5. 7. 2021   #2
-
0
-

V těch onXXX atributech můžeš zadat JavaScriptový kód, který se při dané události má provést. Podobně jako už teď máš onkeypress. AJAX je pak v JavaScriptu načtení dat ze serveru.

<script>
function zpracujPrispevek(input, idVysledek) {
    var hodnota = input.value;
    var request = new XMLHttpRequest();
    request.onreadystatechange = function() {
        if (this.readyState == 4) {
            document.getElementById(idVysledek).innerText = this.responseText;
        }
    }
    request.open("GET", "prispevek.php?hodnota=" + encodeURIComponent(hodnota));
    request.send();
}
</script>
<input oninput="zpracujPrispevek(this, 'vysledek')">
<div id="vysledek">---</div>

prispevek.php:

<?php
if (isset($_REQUEST['hodnota'])) {
    echo 'Zpracoval jsem prispevek: ' . $_REQUEST['hodnota'];
}
?>
Nahlásit jako SPAM
IP: 213.211.51.–
Dušan
~ Anonymní uživatel
62 příspěvků
5. 7. 2021   #3
-
0
-
Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1881 příspěvků
5. 7. 2021   #4
-
0
-

Akorát mám pocit, že ten AJAX nepotřebuješ. 

var hodnota = input.value;
document.getElementById('vysledek').innerText = '10 + ' + hodnota + ' = ' + (10 + hodnota);
Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

Z formulára premenná — založil Black.Shadow

Iny tvar formulara — založil jáchim

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý