30. juni 2002 - 00:16
Der er
23 kommentarer og 2 løsninger
fejl ved funktions kald
Hej Jeg har 2 radio buttons hvor der bliver kaldt en funktion ved OnClick, med navnet på et objekt der er anden steds i samme formular: <input checked name="annonceType" type=radio value="0" OnClick="disablePicture('adresse');"><b>Salg</b> <input name="annonceType" type=radio value="1" OnClick="disablePicture('adresse');"><b>Køb</b> funktionen er i en extern fil som inkluderes i toppen. javascript funktionen i denne er som følge: function disablePicture(obj) { if( document.form.annonceType[0].checked == true ) { document.form.obj.disabled = false; } if( document.form.annonceType[1].checked == true ) { document.form.obj.disabled = true; } } det er så meningen at jeg efter hvilke radio button der er valgt vil have et felt disabled "adresse" som her bliver overført. MEN jeg får fejlen at et objekt var ventet og jeg kan ikke lige se hvorfor, har snart prøvet meget. Nogle forslag??
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
det du opgiver ved at skrive 'adresse' som parameter er at feltets NAVN er parameteren. det skal være det htmlobjekt 'adresse' er navnet for. <input checked name="annonceType" type=radio value="0" OnClick="disablePicture(this.form.adresse);"><b>Salg</b> <input name="annonceType" type=radio value="1" OnClick="disablePicture(this.form.adresse);"><b>Køb</b> mvh JakobA
funktionen skal så ændres til: function disablePicture(obj) { if( document.form.annonceType[0].checked == true ) { obj.disabled = false; } if( document.form.annonceType[1].checked == true ) { obj.disabled = true; } }
det virker heller ikke den klager stadig over at et objekt var ventet
står der name='form' i din form kommando?
ja <form name="form".........
og der er et felt der har <input name='adresse' ...> imellen <forn og </form kommandoerne omkring den formular? kan du evt lægge et link til siden?
kan ikke give et link desværre emn lidt kode. Her er formen (udsnit): <form name="form" action="annonce.php" method="post" onSubmit="validateForm();return false;"> her er de radio buttons hvor der skal ske noget <input checked name="annonceType" type=radio value="0" OnClick="disablePicture(this.form.adresse);"><b>Salg</b> <input name="annonceType" type=radio value="1" OnClick="disablePicture(this.form.adresse);"><b>Køb</b> her er feltet der skal påvirkes: <input type="text" name="adresse" maxlength="40"> og her er javascriptet: function disablePicture(obj) { if( document.form.annonceType[0].checked == true ) { obj.disabled = false; } if( document.form.annonceType[1].checked == true ) { obj.disabled = true; } }
<!-- ændret formens navn tilnoget andet end 'form' --> <form name="formxxx" action="annonce.php" method="post" onSubmit="validateForm();return false;"> her er de radio buttons hvor der skal ske noget <input name="annonceType" type=radio value="0" checked OnClick="disablePicture(this.form.adresse);"><b>Salg</b> <input name="annonceType" type=radio value="1" OnClick="disablePicture(this.form.adresse);"><b>Køb</b> her er feltet der skal påvirkes: <input type="text" name="adresse" maxlength="40"> og her er javascriptet: // ændret socumet to obj 2 steder function disablePicture(obj) { if( obj.form.annonceType[0].checked == true ) { obj.disabled = false; } if( obj.form.annonceType[1].checked == true ) { obj.disabled = true; } } mvh JakobA
det er trist men det virker ikke :o(
30. juni 2002 - 02:41
#10
det skal da vist heller ikke være if( obj.form.annonceType[1].checked == true ) men if( document.form.annonceType[1].checked == true ) ikke sandt??
30. juni 2002 - 02:52
#11
Nej. med formens navn ændret til 'formxxx' ville det blive document.formxxx.annonceType[1].checked eller obj.form.annonceType[1].checked men hvis du stadig får fejl er der noget helt andet galt et andet sted.
30. juni 2002 - 10:48
#12
Prøv at skifte til: function disablePicture(obj) { if( obj.form.annonceType[0].checked == true ) { document.getElementById(obj).disabled = false; } if( obj.form.annonceType[1].checked == true ) { document.getElementById(obj).disabled = true; } } og så skift name="adresse" ud med id="adresse" Håber det virker...
30. juni 2002 - 10:50
#13
Hovsa: function disablePicture(obj) { if( document.form.annonceType[0].checked == true ) { document.getElementById(obj).disabled = false; } if( document.form.annonceType[1].checked == true ) { document.getElementById(obj).disabled = true; } }
30. juni 2002 - 12:14
#14
det prøver jeg men tror lige der er en kamp i tv der skal ses først ;o)
30. juni 2002 - 16:10
#15
jeg fatter simpelthen ikke hvad det er der går galt! Jeg tror jeg vil undersøge mulighederne med PHP, så jeg vender tilbage
30. juni 2002 - 16:21
#16
function disablePicture(obj) { if( document.form.annonceType[0].checked == true ) { document.getElementById(obj).disabled = false; } if( document.form.annonceType[1].checked == true ) { document.getElementById(obj).disabled = true; } } Erstat så form med formxxx
30. juni 2002 - 16:36
#17
er dette så den rigtige måde at kalde funktionen på?? OnClick="disablePicture(this.form.adresse);" kommer adresse her med som et objekt??
30. juni 2002 - 16:53
#18
til micoalngelos forslag skal det være navnet der er parameter: OnClick="disablePicture('adresse');"
30. juni 2002 - 16:56
#19
det er bare for underligt lige meget hvad klager den over at et objekt var ventet når jeg trykker på mine radio buttons
30. juni 2002 - 17:08
#20
læg siden ud på nettet så vi kan se den i sammenhæng.
30. juni 2002 - 17:16
#21
jeg kan ikke lige linke til siden desærre. Men her er den første del igen: <form name="formxxx" action="annonce.php" method="post" onSubmit="validateForm();return false;"> <table border="0" bordercolor="000000" CELLSPACING="0" COLS="2" align="center" WIDTH="450"> <thead bgcolor="cccc99" colspan="2" width="100%"> <h4><center>Udfyld formularen nedenfor for at oprette en annonce</center></h4> </thead> <tbody> <tr> <td bgcolor="ffffff" COLSPAN="2" width="100%"> <b>Annoncetypee</b><br> <input checked name="annonceType" type=radio value="0" OnClick="disablePicture('adresse');"><b>Salg</b> <input name="annonceType" type=radio value="1" OnClick="disablePicture('adresse');"><b>Køb</b> </td> her er feltet lidt længere nede i formen som skal kunne opdateres: <td bgcolor="ffffff" width="50%"> <input type="text" id="adresse" maxlength="40">(maks 40 tegn) </td> og endelig JS funktionen der skulle klare opgaven function disablePicture(obj) { if( document.formxxx.annonceType[0].checked == true ) { document.getElementById(obj).disabled = false; } if( document.formxxx.annonceType[1].checked == true ) { document.getElementById(obj).disabled = true; } }
30. juni 2002 - 17:32
#22
OK. et til forsøg på at debugge uden at vide i hvad. lav en søgning og check at du ikke bruger 'adresse' som navn mere end det ene sted.
30. juni 2002 - 17:47
#23
30. juni 2002 - 17:52
#24
DOHHHHHHHH jeg har inkluderet en forkert fil, det må i meget undskylde nu skal det i har skrevet nok virke
30. juni 2002 - 19:36
#25
nu må i deles om dem, for mange gode forslag og tålmodighed, trods min dumme fejl
Vi tilbyder markedets bedste kurser inden for webudvikling