onload funktioniert nicht beim Firefox

andreasst

Mitglied
Code:
document.onload=send(forumfrm,'',0);
funktioniert nur beim IE, hab auch schon window.onload probiert.

Syntax fehler?
 
Code:
function send(form,confmsg,conf)

{if (conf){
	if (confirm(confmsg))
 {form.submit()
	
	}}else form.submit();
}
Sie funktioniert aber, wenn man sie über einen Button aufruft.
Die ganze Site schaut so aus:
HTML:
<? session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript" src="JS/forms.js"></script>

<title>Unbenanntes Dokument</title>

</head>

<body>
<? if ($_SESSION['loggedin'] && $_SESSION['user']['forumlogin']==1){?>
<form id="forumfrm" name="forumfrm"  action="forum/login.php" method="post"  target="_self" style="height=0.9em" >
	
	<input name="username" type="hidden" value="<? $_SESSION['user']['forumusername']?>" />
	
	<input name="password" type="hidden" value="<? $_SESSION['user']['forumpasswort']?>" />
	<input type="button" name="senden1" value="Weiter zum Forum" onclick="send(forumfrm,'',0);"/>
</form><? }?>
<script language="JavaScript" type="text/javascript">
<? if ($_SESSION['loggedin']&&$_SESSION['user']['forumlogin']==1) {?>document.onload=send(forumfrm,'',0);<? }?>
</script>
</body>

</html>
Ich weiß, das man normalerweise das script am Anfang hat, aber dort funktioniert es beim IE auch nicht,
 
Wieso nimmst du nicht einfach eine normale Absende-Schaltfläche? Sonst arbeite mal mit der getElementById()- oder getElementsByName()-Funktion.
 
Code:
// JavaScript Document
function send(form1,confmsg,conf)
var form = document.getElementbyId(form1);
{if (conf){
	if (confirm(confmsg))
 {form.submit()
	
	}}else form.submit();
}


HTML:
<? session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="JavaScript" type="text/javascript" src="JS/forms.js"></script>

<title>Unbenanntes Dokument</title>

</head>

<body>
<? if ($_SESSION['loggedin'] && $_SESSION['user']['forumlogin']==1){?>
<form id="forumfrm" name="forumfrm"  action="http://kilga.net/forum/login.php?login" method="post"  target="_self" style="height=0.9em" >
	
	<input name="username" type="hidden" value="<? $_SESSION['user']['forumusername']?>" />
	
	<input name="password" type="hidden" value="<? $_SESSION['user']['forumpasswort']?>" />
	<input type="button" name="senden1" value="Weiter zum Forum" onclick="send('forumfrm','',0);"/>
</form><? }?>
<script language="JavaScript" type="text/javascript">
<? if ($_SESSION['loggedin']&&$_SESSION['user']['forumlogin']==1) {?>document.onload=send('forumfrm','',0);<? }?>
</script>
</body>

</html>

unveränderte Situation... IE funktioniert, Firefox nicht.
Der Button hat nur den Zweck zu testen ob das Script für sich funktioniert, und damit man irgendwie weiterkommt solange das Script nicht automatisch ausgeführt wird. Der Button soll eigentlich weg.
 
Sorry, hab mich vorher geirrt doch bisschen andere Situation. Durch die Änderung mit der getelementbyid Variant geht auch der Button nicht mehr (nur im Firefox). Schreibweise habe ich geändert hilft nicht.
 
Weil das Formular sofort gesendet werden soll. (Das Formular hat kein einziges sichtbares Feld, auf der ganzen Site ist nur ein Button, das ist ein bisschen unnötig, dass alle User auf den Button klicken müssen.
 
Probier mal folgende Funktionsdefinition:
Code:
function send(formid, confmsg) {
	if( confmsg.length > 0 ) {
		if( !confirm(confmsg) ) {
			return false;
		}
	}
	return document.getElementById(formid).submit();
}
 

Neue Beiträge

Zurück