NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Přenos textu mezi dvěma poli na jednom formuláři

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
petr.chatar.anton:26.10.2016 12:00

Ahoj, prosím Vás o radu, mám takovouto stránku (pokus)

<!DOCTYPE html>

<?php
if($_POST)
{
    if (isset($_POST['vstup']) && $_POST['vstup'])
    {
       $text = htmlspecialchars($_POST['vstup']);

    }
}
?>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Zkušební stránka</title>
    </head>
    <body>
    <center><h1>Zkouška přenosu textu</h1>
        <form method="POST">
            <table>
                <td><textarea rows="4" cols="50" name=vstup">Veverka</textarea></td>
                <td><input type="submit" value="Přenes"   /></td>
                <td><textarea rows="4" cols="50" name="vystup"></textarea></td>
            </table>
        </form>
    </body>
</html>

a chtěl bych přenést text z toho levého pole do pravého po stisku tlačítka.
Prosím Vás o radu, jak na to.

 
Odpovědět
26.10.2016 12:00
Avatar
Vladislav Domin:26.10.2016 13:04

Javascript?

 
Nahoru Odpovědět
26.10.2016 13:04
Avatar
Odpovídá na Vladislav Domin
petr.chatar.anton:26.10.2016 13:11

Chtěl bych to mít v PHP, protože chci ten text prohnat funkcí strtr(), v Javascriptu to neumím.

 
Nahoru Odpovědět
26.10.2016 13:11
Avatar
maxy obr
Člen
Avatar
Odpovídá na petr.chatar.anton
maxy obr:26.10.2016 13:18

No prostě odešli ten formulář a to co se ti vrátí z pole vstup vypisuj do pole výstup.
$vystup = "";
$vystup = $_POST['vstup'];
<textarea><? echo $vystup ?></textarea>

Editováno 26.10.2016 13:19
 
Nahoru Odpovědět
26.10.2016 13:18
Avatar
Odpovídá na maxy obr
petr.chatar.anton:26.10.2016 13:23

Ale jak to pošlu do toho pole, který už na tom formuláři je připravený?
Do tohohle:

<td><textarea rows="4" cols="50" name="vystup"></textarea></td>
 
Nahoru Odpovědět
26.10.2016 13:23
Avatar
maxy obr
Člen
Avatar
Odpovídá na petr.chatar.anton
maxy obr:26.10.2016 13:30

No tak jak jsem napsal. :) Tím, že odešleš formulář se ti vrátí hodnoty uložené v $_POST, to asi víš.
Tak si vezmeš to co potřebuješ, tedy $_POST['vstup'];
Dáš ho do proměnné. $vystup = $_POST[vstup];
A pak ho vypíšeš kam chceš, tedy takhle v tvém případě.
<td><textarea rows="4" cols="50" name="vystup"><? echo $vystup; ?></textarea></td>
No a protože pokud nebude odeslaný formulář nebude proměnná $vystup existovat to nahlásí chybu, tak si někde na začátku definuj $vystup="";

Editováno 26.10.2016 13:30
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
26.10.2016 13:30
Avatar
maxy obr
Člen
Avatar
Odpovídá na petr.chatar.anton
maxy obr:26.10.2016 13:35

Jo ty už tam máš ten text definovanej koukám, :) no tak ho jenom echuj a ošetři proti chybě. Viz předchozí koment.

 
Nahoru Odpovědět
26.10.2016 13:35
Avatar
Vladislav Domin:26.10.2016 13:37
<?php
$vystup = "";
if($_POST)
{
    $vystup = $_POST['text1'];
}
?>

<form method="post">
    <textarea name="text1" id="text1"></textarea>
    <br />
    <textarea name="text2" id="text2"><?= $vystup ?></textarea>
    <br />
    <input type="submit" value="Vymen texty" id="button" />
</form>
 
Nahoru Odpovědět
26.10.2016 13:37
Avatar
Odpovídá na petr.chatar.anton
Vladislav Domin:26.10.2016 13:38

Alebo cez js

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<textarea id="text1"></textarea>
<br />
<textarea id="text2"></textarea>
<br />
<input type="button" value="Vymen texty" id="button" />
$(document).ready(function() {
    $('#button').on('click', function () {
        var text = $('#text1').val();
        $('#text2').val(text);

    });
});
 
Nahoru Odpovědět
26.10.2016 13:38
Avatar
Odpovídá na maxy obr
petr.chatar.anton:26.10.2016 13:55

Aha, už tomu nejspíš rozumím, jdu to vyzkoušet. Díky moc.

 
Nahoru Odpovědět
26.10.2016 13:55
Avatar
petr.chatar.anton:26.10.2016 14:04

Moc se omlouvám sunspix, ale Maxy_obr byl dřív ....

Tobě zase díky za ten Jscript.

 
Nahoru Odpovědět
26.10.2016 14:04
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.