Jag vill att när man väljer (klickar på) ett citat i select-listan så ska citatet skrivas in i textarean. Jag vill helst inte lägga in någon javascript förutom i <select> eller <option> taggarna.
Jag har experimenterat och bläddrat på nätet större delen av natten utan att komma ett dugg närmare en lösning.
Någon som vet hur detta ska lösas eller har en url som kan vara till nytta?
document.getElementById(this.id) är en helt onödig konstruktion eftersom den bara pekar tillbaka på this och dessutom misslyckas om man skulle råka använda den på ett objekt utan id-egenskap.
Dessutom, om du har flera par av rutor, typ citat_select/citat_edit, citat2_select/citat2_edit osv, eller vad det kan vara, så kan du hämta id't för selecten och modifera det genom att ersätta _select med _edit. På det viset kan du använda exakt samma kod för alla select. (Den koden funkar dock jättebra även för en ensam select)
Jag har testat båda och båda fungerar. Jag valde en mix av dom eftersom jag bara har en av varje.
En del citat innehåller LF (\n) eller <br /> som syns om man tittar i koden som skickas till webbläsaren. Men när man klickar på ett citat så är LF och <br /> utbytta mot ett mellanslag.
En del citat innehåller LF (\n) eller <br /> som syns om man tittar i koden som skickas till webbläsaren. Men när man klickar på ett citat så är LF och <br /> utbytta mot ett mellanslag.
Det enkla, men ganska kassa sättet att lösa detta på är att byta ut text mot innerHTML i koden, så kommer de citat som har <br /> utskrivet att hanteras rätt. Dock fungerar det itne i IE, och dessutom är det rejält fult.
Ett bättre sätt är att antingen ersätta radbrytningar i citatet med ett annat tecken, kanske semikolon, eller att använda value-egenskapen istället, och gärna bara skriva ut ett utdrag av citatet, t ex bara de första x tecknen, i den synliga texten.
Det går inte att bara skriva ut ett utdrag av citatet i text-fältet. Där ska citatet ändras när man råkat kopiera fel eller så. option's value är citatets id i databasen.
Ok. Då måste jag lagra citatets id någon annanstans.
Testade innerHTML på w3schools och där funkade det med IE. Kravet är att det ska fungera med FF och Opera så att det inte fungerar med IE gör inte så mycket. Att lagra <br /> i databasen istället för att lägga till det när sidan ska visas är enligt mig en förbättring.
Ok. Då måste jag lagra citatets id någon annanstans.
Måste du verkligen det? Eftersom citatet kopieras till textrutan undrar jag vad tusan du ska med ID't till. Men även det finns det en lösning till. Du kan lagra både id'et och citatet i value-fältet, typ value="1; Citatet följer här" och sedan klippa ut den del du vill ha (Citatet på klienten samt id't på servern)
Sen när det klickas på skicka kollar jag om det står någon i textfältet och om något i selecten är valt så ersätts det som står vid det id't i databasen med det i textfältet.
Därför måste jag få med id't tillbaka till php-skriptet.
Jag vet att dom som gör FF vill att det ska förkortas FX. Men FF är lättare att skriva så dom får anpassa sig. :D
136 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe