Script werkt in alle browser behalve FireFox

Status
Niet open voor verdere reacties.

Kweetnix

Nieuwe gebruiker
Lid geworden
1 okt 2009
Berichten
2
Hallo allemaal,

Ik heb een probleem met een script dat ooit iemand voor me gemaakt heeft. Helaas kan ik niet meer met die persoon in contact treden, dus ik hoop dat jullie me kunnen helpen.

Het script werkt prima in IE, Chrome en Safari, maar FireFox heeft er om de een of andere reden moeite mee.

Het probleem in FF: het moet zo zijn, dan als gekozen wordt in de selectiebox voor "klant", dat dan pas het veld eronder (Klantnummer) actief wordt, maar in FF blijft het inactief (readOnly(?)).

Hieronder de code en alvast hartelijk dank voor de hulp!

[JS]<HTML>
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
<link rel=stylesheet href="/styles/tables.css">
<link rel=stylesheet href="/styles/buttons.css">

<script language="Javascript">

function valideerForm(actie){
var typeObject = document.all["type_relatie"]
var email = document.all["email_relatie"].value
if (email == ""){
alert("U heeft geen e-mailadres ingevuld.")
document.all["email_relatie"].focus()
return
}
else if ((email.indexOf("@") == -1) || (email.indexOf(".") == -1)){
alert("Ongeldig e-mailadres.")
document.all["email_relatie"].focus()
return
}
else if (document.all["type_relatie"].value == ""){
alert("U heeft geen gebruikersgroep gekozen.")
return
}
else if ((typeObject.options(typeObject.selectedIndex).value == "klant")&& (document.all["code_relatie"].value == "")){
alert("U heeft geen klantnummer ingevuld.")
document.all["code_relatie"].focus()
return
}
else{
document.all["aktie"].value = actie
document.forms["subscriptionForm"].submit()
}
}
function herstel(){
document.forms["subscriptionForm"].reset()
}
function toggleklantid(){
var typeObject = document.all["type_relatie"]
var gekozenType = typeObject.options(typeObject.selectedIndex).value
if (gekozenType == "klant"){
document.all["code_relatie"].className = "textwhite"
document.all["code_relatie"].readOnly = ""
}
else{
document.all["code_relatie"].className = "textsilver"
document.all["code_relatie"].readOnly = "true"
document.all["code_relatie"].value = ""
}
}
</script>

<style type="text/css">
<!--
INPUT.textwhite
{
font: 8pt Arial;
border: 1px inset;
margin: 0px;
background: white;
}
INPUT.textsilver
{
font: 8pt Arial;
border: 1px inset;
margin: 0px;
background: silver;
}
SELECT.selectwhite
{
font: 8pt Arial;
border: 1px inset;
background: white;
}
SELECT.selectsilver
{
font: 8pt Arial;
border: 1px inset;
background: silver;
}
TEXTAREA.areawhite
{
font: 8pt Arial;
border: 1px inset;
background: white;
width: 100%;
}
</style>


</HEAD>
<BODY bgcolor="#D1A3C8" leftmargin="0" topmargin="0" style="font:8 pt Verdana;marginheight:0px;marginwidth:0px">
<FORM id="subscriptionForm" action="blabla" method="POST">
<INPUT type=hidden name="_service" value="default">
<INPUT type=hidden name="_program" value="blabla">
<INPUT type=hidden name="_debug" value="0">
<INPUT type=hidden name="referrer" value="em1">
<INPUT type=hidden name="aktie">
<table class="grid" cellpadding="5" cellspacing="0" width="451px" align="left">
<tr height="186px">
<td colspan="2" height="186"><img src="images/abonneren1.jpg" width="451" height="186"></td>
</tr>
<tr height="20px">
<td width="225px">Abonnement betreft</td>
<td><input class="textsilver" readOnly size="39" name="channel" value="Nieuwsbrief"></td>
</tr>
<tr height="20px">
<td>Uw e-mailadres</td>
<td><input class="textwhite" size="39" name="email_relatie"
></td>
</tr>
<tr height="20px">
<td>Uw relatie type</td>
<td>
<select class="selectwhite" style="width:225px" size="3" name="type_relatie" onChange="toggleklantid()">
<option value="klant">klant
<option value="medewerker">Medewerker
<option value="anders">Geen van beide
</select>
</td>
</tr>
<tr id="klantid" height="20px">
<td>Uw klantnummer</td>
<td><input class="textsilver" size="39" name="code_relatie" readOnly></td>
</tr>
<tr height="20px">
<td></td>
<td>
<img id="subscribe" src="/images/knop_lila_abonneren.jpg" width="70" height="20" onClick="valideerForm(this.id)" style="cursor:hand">
<img id="unsubscribe" src="/images/knop_lila_afmelden.jpg" width="70" height="20" onClick="valideerForm(this.id)" style="cursor:hand">
</td>
</tr>
</table>
</FORM>
</BODY>
</HTML> [/JS]
 
Op regel 56 open je een commentaar tag die je nooit afsluit dus dat klopt al niet, maar firefox lijkt dit verder te negeren.

De firefox foutconsole (Extra-->Foutconsole) geeft (oa) aan
Code:
Fout: typeObject.options is not a function
Bronbestand: http://localhost/test.php
Regel: 42
Om de code voor het klantnummer werkend te maken: voeg een id="blaat" toe aan de type_relatie select. Vervolgens kun je [JS]var gekozenType = typeObject.options(typeObject.selectedIndex).value[/JS] vervangen door [JS]var gekozenType = document.getElementById('blaat').value[/JS]Overigens zou ik alle code eens doorlopen want de gebruikte methodes zijn niet meer van deze tijd.
 
Op regel 56 open je een commentaar tag die je nooit afsluit dus dat klopt al niet, maar firefox lijkt dit verder te negeren.

De firefox foutconsole (Extra-->Foutconsole) geeft (oa) aan
Code:
Fout: typeObject.options is not a function
Bronbestand: http://localhost/test.php
Regel: 42
Om de code voor het klantnummer werkend te maken: voeg een id="blaat" toe aan de type_relatie select. Vervolgens kun je [JS]var gekozenType = typeObject.options(typeObject.selectedIndex).value[/JS] vervangen door [JS]var gekozenType = document.getElementById('blaat').value[/JS]
Overigens zou ik alle code eens doorlopen want de gebruikte methodes zijn niet meer van deze tijd.
Super! Bedankt Flits! Het werkt!

Tja... Ik zou willen dat ik dat kon. Ik wil me altijd nog in javascript gaan verdiepen, maar eerst php. :)
Als je suggesties hebt om de code te verbeteren hoor ik het graag, kan ik altijd wat van leren!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan