Avatar billede sif4ever Nybegynder
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??

Avatar billede jakoba Nybegynder
30. juni 2002 - 00:29 #1
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
Avatar billede jakoba Nybegynder
30. juni 2002 - 00:32 #2
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;
    } 
}
Avatar billede sif4ever Nybegynder
30. juni 2002 - 00:43 #3
det virker heller ikke den klager stadig over at et objekt var ventet
Avatar billede jakoba Nybegynder
30. juni 2002 - 01:06 #4
står der name='form' i din form kommando?
Avatar billede sif4ever Nybegynder
30. juni 2002 - 01:30 #5
ja <form name="form".........
Avatar billede jakoba Nybegynder
30. juni 2002 - 01:46 #6
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?
Avatar billede sif4ever Nybegynder
30. juni 2002 - 02:04 #7
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;
    }
   
}
Avatar billede jakoba Nybegynder
30. juni 2002 - 02:30 #8
<!-- æ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
Avatar billede sif4ever Nybegynder
30. juni 2002 - 02:40 #9
det er trist men det virker ikke :o(
Avatar billede sif4ever Nybegynder
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??
Avatar billede jakoba Nybegynder
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.
Avatar billede mikoalngelo Nybegynder
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...
Avatar billede mikoalngelo Nybegynder
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;
    }
}
Avatar billede sif4ever Nybegynder
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)
Avatar billede sif4ever Nybegynder
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
Avatar billede mikoalngelo Nybegynder
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
Avatar billede sif4ever Nybegynder
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??
Avatar billede jakoba Nybegynder
30. juni 2002 - 16:53 #18
til micoalngelos forslag skal det være navnet der er parameter:
    OnClick="disablePicture('adresse');"
Avatar billede sif4ever Nybegynder
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
Avatar billede jakoba Nybegynder
30. juni 2002 - 17:08 #20
læg siden ud på nettet så vi kan se den i sammenhæng.
Avatar billede sif4ever Nybegynder
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;

    }
   
}
Avatar billede jakoba Nybegynder
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.
Avatar billede sif4ever Nybegynder
30. juni 2002 - 17:47 #23
prøv her http://www.cyclingon.net/recycling/annonceInput.php


skift mellem køb og salg
Avatar billede sif4ever Nybegynder
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
Avatar billede sif4ever Nybegynder
30. juni 2002 - 19:36 #25
nu må i deles om dem, for mange gode forslag og tålmodighed, trods min dumme fejl
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