Autor Zpráva
Chatík
Profil
Dobrý večer přeji všem,
už jsem tu zase a jako obvykle bych potřeboval od Vás pomoct.
Předem chci poděkovat protože jsem od Vás vždy odpověď bleskurychle dostal.
Tak a teď k věci, mám tento kód který vypisuje zprávy do chatu z db.:
<a onclick="Names('<?php echo $message['jmeno']; ?>:')" href="#" <?php if($message['admin'] == '1') echo 'style="color: #A52A2A; font-weight:bold;"' ;ElseIf($message['admin'] == '0')echo'style="color:green"'; ?>><?php echo $message['jmeno']; ?></a> :

K tomu tento kousek javascriptu:
    function Names(name)
    {
    
        var currentText = document.getElementById("zprava");
        
        var nameWithPadding = " " + name + " ";
        currentText.value += nameWithPadding;
    currentText.focus();
    
    }
Princip toho je že po kliku ve výpisu na jméno se jméno doplní do části kde se píšou zprávy (textarea).
Toto funguje, ovšem je problém že mohu kliknout na jakékoliv jméno a ty jména se za sebou řadí.
Rád bych docílil toho aby se neřadily za sebou ale přepsali se. Nevím jestli sem to napsal k pochopení ale snad ano.
Případná ukázka zde: http://erasttest.comehere.cz/chat/# můžete si zkusit kliknout na jméno a oni se budou za sebe řadit. Potřebuji aby se vždy změnilo na to na které kliknu a zůstávalo tam jen to na které jsem klikl . Javascript neovládám a musím se přiznat že jsem ten JS převzal ze smajlíků které vydíte nad textovou částí.
No rozepsal jsem se pěkně.
Děkuji Vám za pomoc.
preca1
Profil
Zdravim,
na tohle bys moh přijít sám, zaměř se na řádek 7.
Chatík
Profil
Děkuju za nasměrování, první co mě napadlo bylo odstranit +
Nevím jestli je to správně ale hle funguje to :D
Díky, vím že to je asi prkotina ale JS fakt nerozumím a nikdy jsem s tím nedělal.
pcmanik
Profil
Chatík:
To plus znamená, že pôvodný obsah ostane plus sa na koniec pridá ďalší text. V php to funguje rovnako.
Chatík
Profil
Jj je mi to jasný teď, ale jak už jsem psal JS neumím bohužel.
Budu se muset nějaké základy naučit.
Díky
preca1
Profil
Znamínko plus slouží v JS k a) sčítání čísel, b) spojování řetězců. Jedno znamínko rovná se slouží k přiřazení hodnoty do proměnné.
Tyto akce můžeš spojit do +=. Obdobně de spojit -, * a / (pouze u čísel).
var text = "text";
text+= "další text";
// proměnná text obsahuje "textdalší text"

var cislo = 3;
cislo *= 4;
// proměnná cislo je 12

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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