Pagina 1 van 1

Form submit , Explorer wel , Firefox niet

Geplaatst: 24 feb 2005, 02:18
door Matt
Ik maak gebruik van een normale form op men website.
Hierbij heb ik de code van Sub Zero uitgeprobeerd ( http://users.pandora.be/sub.zero/formchecking.zip) om de contact email op te maken dmv javascript.
Nu heb ik het volgende probleem dat wanneer ik op de submit button in firefox klik er niks gebeurd, in explorer doet ie het gewoon wel.


met als code voor de submit button =

Code: Selecteer alles

<input type="button" value="Verzenden" onclick="verstuur()" />

javascript opmaak code :

Code: Selecteer alles

function verstuur() {
	      gegevensfinal.content.value +="";
		  gegevensfinal.content.value  += "\n" + "**********************************************" +"\n\n";
		  gegevensfinal.content.value  += "Naam                :" + gegevens.naam.value + "\n";
		  gegevensfinal.content.value  += "Bedrijf             :" + gegevens.bedrijf.value + "\n";
		  gegevensfinal.content.value  += "Functie             :" + gegevens.functie.value + "\n";
		  gegevensfinal.content.value  += "Email               :" + gegevens.email.value + "\n";
		  gegevensfinal.content.value  += "Telefoon            :" + gegevens.telefoon.value + "\n";
		  gegevensfinal.content.value  += "Fax                 :" + gegevens.fax.value + "\n";
		  gegevensfinal.content.value  += "Adres               :" + gegevens.adres.value + "\n";
		  gegevensfinal.content.value  += "Straatnummer        :" + gegevens.straatnr.value + "\n";
		  gegevensfinal.content.value  += "Postcode            :" + gegevens.postcode.value + "\n";
		  gegevensfinal.content.value  += "Stad                :" + gegevens.stad.value + "\n";
		  gegevensfinal.content.value  += "Werflocatie         :" + gegevens.werflocatie.value + "\n";
		  gegevensfinal.content.value  += "Land                :" + gegevens.land.value + "\n";
		  gegevensfinal.content.value  += "Type informatie     :" + gegevens.soort_info.value + "\n";
		  gegevensfinal.content.value  += "Bericht             :" + "\n" + gegevens.bericht.value + "\n";
		  gegevensfinal.content.value  += "**********************************************" +"\n\n";
		  
				
   				 gegevensfinal.submit();
	
	}
hidden form ( form in goede opmaak) :

Code: Selecteer alles


						<form id="gegevensfinal" method="post" action="http://users.skynet.be/cgi-bin/formd.cgi">
							<fieldset>
								<input type="hidden" name="to" value="mijnemail" />
								<input type="hidden" name="next" value="http://users.skynet.be/fb141221/contact_ok.htm" />	
								<input type="hidden" name="subject" value="Contactformulier " />
								<input type="hidden" name="content" id="content" />
							</fieldset>
						</form>

Nu dacht ek dat het in eerste instantie door de input type van de submit button kwam , maar dat blijkt niet zo te zijn.

Code: Selecteer alles

<input type="submit" value="Verzenden" onclick="verstuur()" />
gebruiken is geen optie want dan verzend hij onmiddellijk zonder de form eerst dynamisch op te maken.

Enig idee hoe ik dit kan oplossen of waar de oorzaak ligt?




Dank bij voorbaat,
Mattt

Geplaatst: 24 feb 2005, 02:45
door Lukse
Ben momenteel te lui om de code na te lezen. :-D
Maar er zit mss javascript code in die niet in FireFox werkt?
Open de JavaScript Console van FireFox (menu Tools) eens en kijk of die errors geeft.

Geplaatst: 24 feb 2005, 08:29
door khsw
Zet ook de name-property van je form:

Code: Selecteer alles

<form id="gegevensfinal" name="gegevensfinal" method="post" action="http://users.skynet.be/cgi-bin/formd.cgi"> 
Pas de code van de functie Verstuur() aan, voor Mozilla dien je te beginnen vanaf het document-object.

Code: Selecteer alles

function verstuur() { 

         document.gegevensfinal.content.value +=""; 
        document.gegevensfinal.content.value  += "\n" + "**********************************************" +"\n\n"; 
        document.gegevensfinal.content.value  += "Naam                :" + document.gegevensfinal.naam.value + "\n"; 
        document.gegevensfinal.content.value  += "Bedrijf             :" + document.gegevensfinal.bedrijf.value + "\n"; 
        document.gegevensfinal.content.value  += "Functie             :" + document.gegevensfinal.functie.value + "\n"; 
        document.gegevensfinal.content.value  += "Email               :" + document.gegevensfinal.email.value + "\n"; 
        document.gegevensfinal.content.value  += "Telefoon            :" + document.gegevensfinal.telefoon.value + "\n"; 
        document.gegevensfinal.content.value  += "Fax                 :" + document.gegevensfinal.fax.value + "\n"; 
        document.gegevensfinal.content.value  += "Adres               :" + document.gegevensfinal.adres.value + "\n"; 
        document.gegevensfinal.content.value  += "Straatnummer        :" + document.gegevensfinal.straatnr.value + "\n"; 
        document.gegevensfinal.content.value  += "Postcode            :" + document.gegevensfinal.postcode.value + "\n"; 
        document.gegevensfinal.content.value  += "Stad                :" + document.gegevensfinal.stad.value + "\n"; 
        document.gegevensfinal.content.value  += "Werflocatie         :" + document.gegevensfinal.werflocatie.value + "\n"; 
        document.gegevensfinal.content.value  += "Land                :" + document.gegevensfinal.land.value + "\n"; 
        document.gegevensfinal.content.value  += "Type informatie     :" + document.gegevensfinal.soort_info.value + "\n"; 
        document.gegevensfinal.content.value  += "Bericht             :" + "\n" + document.gegevensfinal.bericht.value + "\n"; 
        document.gegevensfinal.content.value  += "**********************************************" +"\n\n"; 
        
        
                document.gegevensfinal.submit(); 
    
   }
Ik vind het bizar dat IE geen errors geeft, want uiteindelijk verwijs je in je code naar objecten die niet bestaan om de values op te halen (gegevens.functie.value ipv gegevensfinal.functie.value), tenzij gegevens een andere form is dan gegevensfinal... (in dit geval dien je bovenstaande code nog te wijzigen).

Geplaatst: 24 feb 2005, 10:24
door ubremoved_539
khsw schreef:Ik vind het bizar dat IE geen errors geeft, want uiteindelijk verwijs je in je code naar objecten die niet bestaan
IE is zowat de meest vergevingsgezinde browser wat betreft fouten in je HTML, en het leuke is dat hij er meestal nog iets deftigs van bakt ook. Je website testen doe je dus absoluut NIET met IE om die reden.

Geplaatst: 25 feb 2005, 08:43
door Matt
khsw schreef:Zet ook de name-property van je form:

Code: Selecteer alles

<form id="gegevensfinal" name="gegevensfinal" method="post" action="http://users.skynet.be/cgi-bin/formd.cgi"> 
Pas de code van de functie Verstuur() aan, voor Mozilla dien je te beginnen vanaf het document-object.

Code: Selecteer alles

function verstuur() { 

         document.gegevensfinal.content.value +=""; 
        document.gegevensfinal.content.value  += "\n" + "**********************************************" +"\n\n"; 
        document.gegevensfinal.content.value  += "Naam                :" + document.gegevensfinal.naam.value + "\n"; 
        document.gegevensfinal.content.value  += "Bedrijf             :" + document.gegevensfinal.bedrijf.value + "\n"; 
        document.gegevensfinal.content.value  += "Functie             :" + document.gegevensfinal.functie.value + "\n"; 
        document.gegevensfinal.content.value  += "Email               :" + document.gegevensfinal.email.value + "\n"; 
        document.gegevensfinal.content.value  += "Telefoon            :" + document.gegevensfinal.telefoon.value + "\n"; 
        document.gegevensfinal.content.value  += "Fax                 :" + document.gegevensfinal.fax.value + "\n"; 
        document.gegevensfinal.content.value  += "Adres               :" + document.gegevensfinal.adres.value + "\n"; 
        document.gegevensfinal.content.value  += "Straatnummer        :" + document.gegevensfinal.straatnr.value + "\n"; 
        document.gegevensfinal.content.value  += "Postcode            :" + document.gegevensfinal.postcode.value + "\n"; 
        document.gegevensfinal.content.value  += "Stad                :" + document.gegevensfinal.stad.value + "\n"; 
        document.gegevensfinal.content.value  += "Werflocatie         :" + document.gegevensfinal.werflocatie.value + "\n"; 
        document.gegevensfinal.content.value  += "Land                :" + document.gegevensfinal.land.value + "\n"; 
        document.gegevensfinal.content.value  += "Type informatie     :" + document.gegevensfinal.soort_info.value + "\n"; 
        document.gegevensfinal.content.value  += "Bericht             :" + "\n" + document.gegevensfinal.bericht.value + "\n"; 
        document.gegevensfinal.content.value  += "**********************************************" +"\n\n"; 
        
        
                document.gegevensfinal.submit(); 
    
   }
Ik vind het bizar dat IE geen errors geeft, want uiteindelijk verwijs je in je code naar objecten die niet bestaan om de values op te halen (gegevens.functie.value ipv gegevensfinal.functie.value), tenzij gegevens een andere form is dan gegevensfinal... (in dit geval dien je bovenstaande code nog te wijzigen).

Die gegevens waren idd van een andere form dus das niet de oorzaak.

Name object van form is geen valid xhtml strict, maar maakt blijkbaar nie veel uit aangenzien het nog niet werkte met een name object erin...

verder heb ik zoals je zei , gegevensfinal.submit(); aangepast naar document.gegevensfinal.submit();

In de javaconsole in firefox krijg ik nu volgende error:

"gegevensfinal is not defined"

Blijkbaar wordt gegevensfinal.content.value niet ondersteund neem ik aan ?

Geplaatst: 25 feb 2005, 09:55
door Sub Zero
document.forms.formnaam.blablabla

Geplaatst: 25 feb 2005, 10:37
door Matt
ah idd ,werkt nu :)

bedankt