Mijn contactformulier werkt niet in Firefox, wel in IE en safari

Status
Niet open voor verdere reacties.

ThijssjihT

Gebruiker
Lid geworden
3 dec 2007
Berichten
32
Head:
Code:
<script type="text/javascript">
<!--

function maakveld()
{
  spanid.innerHTML='nl: <input type="text" name="andersnl" id="andersnl">';
}

function verwijderveld()
{
  spanid.innerHTML='<input type="hidden" name="andersnl" id="andersnl" value="">';
}

//-->
</script>

Body:
Code:
<tr>
    <td>Onderwerp:</td>
    <td><input type="radio" name="onderwerp" id="onderwerp1" value="Twisted Tales" onClick="verwijderveld()">Twisted Tales</td>
</tr>
<tr>
    <td></td>
    <td><input type="radio" name="onderwerp" id="onderwerp2" value="Film" onClick="verwijderveld()">Movie reviews</td>
</tr>
<tr>
    <td></td>
    <td><input type="radio" name="onderwerp" id="onderwerp3" value="Bloody Hell" onClick="verwijderveld()">Bloody Hell</td>
</tr>
<tr>
    <td></td>
    <td><input type="radio" name="onderwerp" id="onderwerp4" value="Anders" onClick="maakveld()">Anders <span id="spanid"><input type="hidden" name="andersnl" id="andersnl" value=""></span></td>
</tr>

Dit is een deel van een contactformulier dat ik heb gemaakt. In het deel dat ik gepost heb, wordt een onderwerp voor een email gekozen. Zodra de optie anders wordt aangeklikt, wordt er direct achteraan een nieuw veld gemaakt voor input, zodat de gebruiker zelf een onderwerp kan invullen.
Het werkt perfect in IE en Safari, maar in Firefox laad hij de javascript functies niet. Ik heb dat gecontroleerd door een alert commando in beide functies te zetten, maar ze worden niet aangeroepen. Dit vind ik best opmerkelijk, aangezien Safari en FF allebei netscape browsers zijn.
Waarom werkt het niet? En hoe kan ik mijn contactformulier zo maken, dat het niet browser afhankelijk wordt, maar toch op tenminste deze 3 browsers draait?
 
Laatst bewerkt:
Kijk eens in de error console (menu tools/error console) van firefox of die een foutmelding geeft.
 
Fout: spanid is not defined (ECHT WEL!)
Bronbestand: .../pages/contact.php
Regel: 14
 
Zonder je HTML te zien kan ik het niet met zekerheid zeggen, maar

HTML:
spanid.innerHTML

moet denk ik zijn:

HTML:
document.getElementById('spanid').innerHTML
 
FF maakt nu wel een veld aan. Het veld wordt alleen niet verwijderd.
In IE doet het formulier het niet meer.
Dit is de oplossing dus niet.

Ik heb trouwens wel andere code in de head staan nu:
Code:
function maakveld()
{
  inputnaam=document.getElementById('andersnl');
  waarde = inputnaam.value;
  spanid.innerHTML='nl: <input type="text" name="andersnl" id="andersnl" value="'+waarde+'">';
}

function verwijderveld()
{
  inputnaam=document.getElementById('andersnl');
  waarde = inputnaam.value;
  spanid.innerHTML='<input type="hidden" name="andersnl" id="andersnl" value="'+waarde+'">';
}
Dit zorgt ervoor dat de waarde onthouden wordt, als het veld verwijderd wordt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan