Avatar billede dtm Nybegynder
28. maj 2007 - 17:54 Der er 18 kommentarer og
1 løsning

Putte tekst i formular ved hjælp af knapper.

http://www.eksperten.dk/spm/780566
Avatar billede w13 Novice
28. maj 2007 - 17:56 #1
Ok, har du prøvet følgende?
------------------------------
<input type="button" value="rød" onclick="document.getElementById('tekstfelt1').value=this.value;">
<input type="button" value="blå" onclick="document.getElementById('tekstfelt1').value=this.value;">

<input id="tekstfelt1" type="text" name="text">
Avatar billede dtm Nybegynder
28. maj 2007 - 17:58 #2
jeps det har jeg prøvet og det virker helt fint, men der kommer jo til at stå det i feltet som står på knappen.
Jeg tænkte på om man kan få den til at skrive noget andet?
Altså at den røde knap vil udfylde feltet med: Bilen er rød, og stadig vil der stå Rød på knappen?
Avatar billede w13 Novice
28. maj 2007 - 17:59 #3
Hvis du ikke vil have teksten til at stå der, men bare have en rød knap, så prøv:
-------------------------------
<input type="button" style="background-color: red;" value="  " onclick="document.getElementById('tekstfelt1').value='rød';">
<input type="button" style="background-color: blue;" value="  " onclick="document.getElementById('tekstfelt1').value='blå';">

<input id="tekstfelt1" type="text" name="text">
-------------------------------
Tekstfeltet kan selvfølgelig også være et textarea:
<textarea style="width: 200px; height: 200px;" id="tekstfelt1" name="text"></textarea>
Avatar billede w13 Novice
28. maj 2007 - 17:59 #4
Ah, ja. Som vist i mit sidste eksempel, så skal du bare rette this.value til 'hvad du nu vil have' :)
Avatar billede w13 Novice
28. maj 2007 - 18:00 #5
Skulle have været et svar :)
Avatar billede roenving Novice
28. maj 2007 - 18:01 #6
-- eller måske:

<form ...>
<select onchange="if(this.selectedIndex>0)this.form.farve=this.value;" style="color:white;width:100px;">
<option>Vælg farve</option>
<option value="rød" style="background:#f00;">Rød</option>
<option value="blå" style="background:#00f;">Blå</option>
<option value="grøn" style="background:#0f0;">Grøn</option>
</select><br>
<input name="farve">
</form>
Avatar billede roenving Novice
28. maj 2007 - 18:02 #7
Ufff ...

<select onchange="if(this.selectedIndex>0)this.form.farve.value=this.value;" style="color:white;width:100px;">
Avatar billede dtm Nybegynder
28. maj 2007 - 18:15 #8
jeg skal ikke bruge option...
Det som w13 har lavet virker rigtig godt...
Bortset fra at det jeg gerne vil have smidt ind i feltet er en stump kode. Og det kan jeg ikke, så går det ud over det andet kode....

<input type="button" value="100x75 til venstre" onclick="document.getElementById('tekstfelt1').value='Bilen er rød';">

"Bilen er rød" vil jeg gerne have skiftet ud med:

<TABLE WIDTH=151 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD ROWSPAN=3><IMG SRC="thumb/100x75_v/images/thumbnail_01.gif" WIDTH=25 HEIGHT=182></TD>
<TD><IMG SRC="thumb/100x75_v/images/thumbnail_02.gif" WIDTH=100 HEIGHT=33></TD>
<TD ROWSPAN=3><IMG SRC="thumb/100x75_v/images/thumbnail_03.gif" WIDTH=26 HEIGHT=182></TD>
</TR>
<TR>
<TD background="images/alanya2006/small/001.jpg"><IMG SRC="thumb/100x75_v/images/thumbnail_04.gif" WIDTH=100 HEIGHT=75 border="0"></TD>
</TR>
<TR>
<TD><IMG SRC="thumb/100x75_v/images/thumbnail_05.gif" WIDTH=100 HEIGHT=74></TD>
</TR>
</TABLE>


Det synes jeg ikke rigtig den vil....
Avatar billede w13 Novice
28. maj 2007 - 18:16 #9
Vil du have vist denne tabel eller vil du have vist denne kode for tabellen, ligesom du skriver den?
Avatar billede w13 Novice
28. maj 2007 - 18:17 #10
I øvrigt skal det være:
document.getElementById('tekstfelt1').value=document.getElementById('tekstfelt1').value + 'Bilen er rød';
hvis "Bilen er rød" skal tilføjes til den eksisterende tekst. Ellers overskrives indholdet af tekstboksen.
Avatar billede dtm Nybegynder
28. maj 2007 - 18:20 #11
ligesom jeg skriver den, skal det skrives i feltet... Når jeg så sender det til databasen, så kan den tabel blive vist, når jeg trækker den udfra min database... det er noget indviklet noget, det ved jeg godt, men det er en større storm P løsning på min hjememside :-D
Avatar billede roenving Novice
28. maj 2007 - 18:25 #12
Hrm, så ville jeg finde på noget andet:

<script type="text/javascript">
var koder = [];
koder[koder.length] = '&lt;table width=151 border=0 cellpadding=0 cellspacing=0><br>&lt;tr><br>&lt;td rowspan=3>&lt;img src="thumb/100x75_v/images/thumbnail_01.gif" width=25 height=182>&lt;/td><br>&lt;td>&lt;img src="thumb/100x75_v/images/thumbnail_02.gif" width=100 height=33>&lt;/td><br>&lt;td rowspan=3>&lt;img src="thumb/100x75_v/images/thumbnail_03.gif" width=26 height=182>&lt;/td><br>&lt;/tr><br>&lt;tr><br>&lt;td background="images/alanya2006/small/001.jpg">&lt;img src="thumb/100x75_v/images/thumbnail_04.gif" width=100 height=75 border="0">&lt;/td><br>&lt;/tr><br>&lt;tr><br>&lt;td>&lt;img src="thumb/100x75_v/images/thumbnail_05.gif" width=100 height=74>&lt;/td><br>&lt;/tr><br>&lt;/table>';

function insKode(num){
  document.getElementById("visKode").innerHTML = koder[num];
}
</script>

<input type="button" onclick="insKode(0);">

<div id="visKode"></div>
Avatar billede w13 Novice
28. maj 2007 - 18:30 #13
Ok! :)

Jamen du kan jo enten skrive det meget rodet ind i onclick-proceduren:
------------------------------------------------
onclick="document.getElementById('tekstfelt1').value=document.getElementById('tekstfelt1').value + '<TABLE WIDTH=151 BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD ROWSPAN=3><IMG SRC=/"thumb/100x75_v/images/thumbnail_01.gif/" WIDTH=25 HEIGHT=182></TD><TD><IMG SRC=/"thumb/100x75_v/images/thumbnail_02.gif/" WIDTH=100 HEIGHT=33></TD><TD ROWSPAN=3><IMG SRC="thumb/100x75_v/images/thumbnail_03.gif" WIDTH=26 HEIGHT=182></TD></TR><TR><TD background=/"images/alanya2006/small/001.jpg/"><IMG SRC=/"thumb/100x75_v/images/thumbnail_04.gif/" WIDTH=100 HEIGHT=75 border=0></TD></TR><TR><TD><IMG SRC=/"thumb/100x75_v/images/thumbnail_05.gif/" WIDTH=100 HEIGHT=74></TD></TR></TABLE>";'
-----------------------------------------------
Eller først gemme den i en i variabel i JavaScript øverst i koden på din side:
-----------------------------------------------
<script language="JavaScript" type="text/JavaScript">
var KnapKode;
KnapKode = "<TABLE WIDTH=151 BORDER=0 CELLPADDING=0 CELLSPACING=0><TR>"
KnapKode = "<TD ROWSPAN=3><IMG SRC=/"thumb/100x75_v/images/thumbnail_01.gif/" WIDTH=25 HEIGHT=182></TD>"
KnapKode = "<TD><IMG SRC=/"thumb/100x75_v/images/thumbnail_02.gif/" WIDTH=100 HEIGHT=33></TD>"
KnapKode = "<TD ROWSPAN=3><IMG SRC=/"thumb/100x75_v/images/thumbnail_03.gif/" WIDTH=26 HEIGHT=182></TD></TR>"
KnapKode = "<TR><TD background=/"images/alanya2006/small/001.jpg/"><IMG SRC=/"thumb/100x75_v/images/thumbnail_04.gif/" WIDTH=100 HEIGHT=75 border=0></TD></TR>"
KnapKode = "<TR><TD><IMG SRC=/"thumb/100x75_v/images/thumbnail_05.gif/" WIDTH=100 HEIGHT=74></TD>"
KnapKode = "</TR></TABLE>"
</script>
-----------------------------------------------
Så kan du benytte:
onclick="document.getElementById('tekstfelt1').value=document.getElementById('tekstfelt1').value + KnapKode;"
Avatar billede jokkejensen Novice
28. maj 2007 - 19:08 #14
lig den tabel inde i en container og skjul den med css, og vis den hvis der er brug for den..

Det der giver da nogle totalt uskalerbare løsninger, som er ufattelig svære at opdatere og vedligeholde.

Husk også at have en tanke med, når der kommer en bruger uden javascript aktiveret, eller på anden, eksempelvis, håndholdt enhed uden javascript. Brugeren vil i dette tilfælde ikke kunne vælge farve, eller som du er inde på i din tråd ej heller gemme noget korrekt i din database.

mvh
/JJ
Avatar billede w13 Novice
28. maj 2007 - 19:14 #15
Hvis du lægger koden i et skjult element, kan det også gøres således:
------------------------------------------------------
<div id="tablekode" style="display: none;">
  <TABLE WIDTH=151 BORDER=0 CELLPADDING=0 CELLSPACING=0>
  <TR>
  <TD ROWSPAN=3><IMG SRC="thumb/100x75_v/images/thumbnail_01.gif" WIDTH=25 HEIGHT=182></TD>
  <TD><IMG SRC="thumb/100x75_v/images/thumbnail_02.gif" WIDTH=100 HEIGHT=33></TD>
  <TD ROWSPAN=3><IMG SRC="thumb/100x75_v/images/thumbnail_03.gif" WIDTH=26 HEIGHT=182></TD>
  </TR>
  <TR>
  <TD background="images/alanya2006/small/001.jpg"><IMG SRC="thumb/100x75_v/images/thumbnail_04.gif" WIDTH=100 HEIGHT=75 border="0"></TD>
  </TR>
  <TR>
  <TD><IMG SRC="thumb/100x75_v/images/thumbnail_05.gif" WIDTH=100 HEIGHT=74></TD>
  </TR>
  </TABLE>
</div>

<input type="button" value="100x75 til venstre" onclick="document.getElementById('tekstfelt1').value=document.getElementById('tekstfelt1').value + document.getElementById('tablekode').innerHTML;">
-------------------------------------
På denne måde ligger koden lettere tilgængelig i et div-element som skjules med display:none;
Når der klikkes på knappen hentes blot koden fra div'en med id'et "tablekode".
(Koden "innerHTML" henter alt indhold i elementet!)
Avatar billede dtm Nybegynder
28. maj 2007 - 19:31 #16
jeg arbejder lige på sagen...
Det ser ud til at w13 sidste forslag virker...
Jeg vender lige tilbage...
Avatar billede olebole Juniormester
30. maj 2007 - 13:39 #17
<ole>

Undgå innerHTML. Den har aldrig været valid i nogen somhelst standard - er komplet ubrugelig i forbindelse med XHTML - og den skaber ofte problemer.

<script type="text/javascript">
var koder = [];
koder[koder.length] = '\u003ctable width=151 border=0 cellpadding=0 cellspacing=0><br>\u003ctr><br>\u003ctd rowspan=3>\u003cimg src="thumb/100x75_v/images/thumbnail_01.gif" width=25 height=182>\u003c/td><br>\u003ctd>\u003cimg src="thumb/100x75_v/images/thumbnail_02.gif" width=100 height=33>\u003c/td><br>\u003ctd rowspan=3>\u003cimg src="thumb/100x75_v/images/thumbnail_03.gif" width=26 height=182>\u003c/td><br>\u003c/tr><br>\u003ctr><br>\u003ctd background="images/alanya2006/small/001.jpg">\u003cimg src="thumb/100x75_v/images/thumbnail_04.gif" width=100 height=75 border="0">\u003c/td><br>\u003c/tr><br>\u003ctr><br>\u003ctd>\u003cimg src="thumb/100x75_v/images/thumbnail_05.gif" width=100 height=74>\u003c/td><br>\u003c/tr><br>\u003c/table>';

function insKode(num){
  document.getElementById("visKode").value = koder[num];
}
</script>

<input type="button" onclick="insKode(0);">

<textarea id="visKode"></textarea>

/mvh
</bole>
Avatar billede dtm Nybegynder
30. maj 2007 - 15:54 #18
Det virker fuldstændig efter hensigten, det w13 har forslået mig.... Og det er altså til eget brug, så det virker helt fint...
Avatar billede w13 Novice
30. maj 2007 - 15:57 #19
Tak for point! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester