Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 20:41 Der er 24 kommentarer og
1 løsning

OnClick event virker ikke

Hejsa jeg har prøvet at lave en onclick event på et td, sådan så det gerne skulle sætte et tal ind i en form, men der sker intet, håber der er en som der kan se fejlen.

'' er der pågrund af at det er i et php script.


<td onclick='document.test='100''>100</td>

<input type='text' name='test' size='10'>

på forhånd tak
Avatar billede nielle Nybegynder
02. oktober 2007 - 20:50 #1
Sådan?

<td onclick='document.getElementById("testId").value=100'>100</td>

<input type='text' name='test' id='testId' size='10'>
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:02 #2
Den siger der er en syntaks fejl på den linje :/

<td onclick='document.getElementById("testId").value=100'>100</td>

Hvis jeg fjerne den er der ikke noget :/
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:02 #3
kan det være fordi jeg har det i php kode og derfor bruger '' istedet for "" ?
Avatar billede montago Praktikant
02. oktober 2007 - 21:02 #4
det største problem ved den originale kode er

#1 at eventet er boxed ud af tagget... der bruges pling til string + kode
<td onclick='document.test='100''>100</td> -->
<td onclick="document.test='100'">100</td>

#2 at document.test returnere et "Object"... man skal vælge attributten Value:
<td onclick="document.test.value='100'">100</td>
Avatar billede nielle Nybegynder
02. oktober 2007 - 21:07 #5
02/10-2007 21:02:47> Ja - hvordan ser din PHP-kode ud?
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:23 #6
<td onclick="document.test.value='100'">100</td>

<input type='text' name='test' size='10'>

nu er der en ny fejl - "document.test er null eller ikke et objekt"
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:32 #7
Fejlen opstår først når jeg trykker på den der onclick
Avatar billede nielle Nybegynder
02. oktober 2007 - 21:32 #8
Du er gået bort fra at bruge den kode jeg har skitseret?
Avatar billede olebole Juniormester
02. oktober 2007 - 21:36 #9
<ole>

Den kode, nielle har givet dig, virker fuldstændig perfekt  :)

/mvh
</bole>
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:38 #10
<td onclick="document.getElementById("<? print $row[antal].".value='$max'"; ?>"><? print "$max</td><td><input type='text' name='$row[antal]' id='$buildings3[name]' size='10'></td>
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:40 #11
$buildings3[name] = $row[antal]
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:40 #12
Hvis den virker så hopper jeg på den - men kan bare ikke få det til at virke sammen med php - det er så mit problem, smid et svar :D
Avatar billede jhe-ting Nybegynder
02. oktober 2007 - 21:43 #13
<!-- Input felter skal være inden i en form: -->

<form name="minForm" action="">
  <input type="text" name="test" value="xyz">
</form>

<!-- input elementet tilgåes lettest via document.forms -->
<table><tbody><tr><td onclick="document.forms.minForm.test.value='100'">set til 100</td></tr></tbody></table>
Avatar billede nielle Nybegynder
02. oktober 2007 - 21:47 #14
Det vigtigste er nu at det er det samme id der henvises til i getElementById(...) som i <input id="...">. - Det bliver det ikke med den viste PHP-kode.

Dernæst er det lige så vigtig at den javascript-koder der bliver udskrevet med PHP'en er korrekt javascript - Det er den ikke med det viste PHP. Her er kuren nok at lave sig en Vis Kilde på det der bliver genereret og så nusle lidt med det indtil at det bliver korrekt.
Avatar billede nielle Nybegynder
02. oktober 2007 - 21:49 #15
Forrestemn menere jeg ikke at form's har det så godt med at man bruger et tal i deres name-attribut.
Avatar billede olebole Juniormester
02. oktober 2007 - 21:53 #16
jhe-ting >> "Input felter skal være inden i en form" ... hvorfor det?  :)

nielle >> Jeg har ikke været ude for, at tekstfelter har noget imod tal, når man sætter en værdi ... men værdien er altid en streng, når man henter den
Avatar billede nielle Nybegynder
02. oktober 2007 - 21:55 #17
Det var name-attributten - ikke value-attributten. I det mindste går jeg ud fra at $row[antal] gover et tal i det nedenstående:

<input type='text' name='$row[antal]' id='$buildings3[name]' size='10'>
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 21:56 #18
Tak smid et svar, jeg må rode med det, hvis folk siger det virker så virker det :D
Avatar billede olebole Juniormester
02. oktober 2007 - 21:57 #19
Sorry - det så jeg ikke! Alle name- og id-attributter _skal_ begynde med et bogstav eller underscore  ;o)
Avatar billede jhe-ting Nybegynder
02. oktober 2007 - 21:59 #20
olebole >> Hvordan skulle man ellers bruge værdien.

Hvis man indsætter et 'løst' input element opretter mange WYSIWYG's (nok ikke alle) et form-element det kan være i
Avatar billede nielle Nybegynder
02. oktober 2007 - 22:00 #21
nicocarlos> Jeg vil da meget gerne hjælpe med at få det til at virke resten af vejen. Lige nu er det dog mest PHP-koden der er problemet.

Desværre kan jeg ikke give et fornuftig bud på hvordan denne skal se ud baseret på ekemplet fra 02/10-2007 21:38:35. Måske kan du give nogle flere oplysninger om hvad det er du trækker ud af din tabel?
Avatar billede nicocarlos Nybegynder
02. oktober 2007 - 22:01 #22
Ja har fået det til at virke :D - jeg gjorde det at sørge for at "vis kilde" kom til at ligne den du havde. :D Mange tak
Avatar billede olebole Juniormester
02. oktober 2007 - 22:09 #23
jhe-ting >> f.eks. med JavaScript - der er jo ingen, der siger, der er noget, der skal gemmes på serveren. Er der noget, der skal gemmes, kan det gøres via XMLHttpRequests.
Der er ingen, der siger, den slags kontroller nødvendigvis skal ligge i en form  :)
Avatar billede jhe-ting Nybegynder
02. oktober 2007 - 22:32 #24
olebole >> ok - ok; godt ord igen {:P}.
Du har jo ret, når der ikke er nogen syntaksmæssige krav om det.
Avatar billede olebole Juniormester
02. oktober 2007 - 22:50 #25
W3C skriver faktisk om det. Hvis du klikker her og scroller en anelse op:
    http://www.w3.org/TR/html401/interact/forms.html#h-17.3

- står der:
    "The elements used to create controls generally appear inside a FORM element, but may also appear outside of a FORM element declaration when they are used to build user interfaces. This is discussed in the section on intrinsic events. Note that controls outside a form cannot be successful controls."
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