Funktionsproblem

baum2

Grünschnabel
Funktionsproblem

Hallo,

ich habe folgendes Problem:

Ich habe eine normale Funktion (checkformular) zum Überprüfen eines Formulars.
Zudem habe ich eine andere Funktion:
function meldung_grafik_einstellen()
{
...
}

Beide Funktionen sollen per submit aufgerufen werden, dafür habe ich mir noch eine Funktion geschrieben:

function loadfunktion()
{
meldung_grafik_einstellen()
checkformular()
}

Diese Funktion loadfunktion rufe ich im Formular so ab:
onSubmit="loadfunktion()"

Beim Testen wird zwar die Formularüberprüfung ausgeführt),
allerdings wird nach einem Klick auf OK das Formular trotzdem abgeschickt und das ist ja nicht Sinn der Sache.

Weiss von Euch jemand Rat ?
 
Du musst den submit-Event innerhalb der Funktion canceln, wenn du nicht senden willst:
Dazu wartest du beim onsubmit am Besten auf den Rückgabewert der Funktion(en)
Code:
onSubmit="return loadfunktion()"

Hat jetzt eine der Funktionen den Rückgabewert "false"
Code:
return false;
wird das Senden abgebrochen.
 
hy, vielen Dank erstmal, hat aber die gleichen Auswirkungen:

Alert Fenster geht auf, nach einem Klick auf OK wird das Formular abgeschickt. Hier noch mal alle 3 Scripte:
Code:
<script language="JavaScript">
<!-- 

function checkformular()
{

if(document.grafik_einstellen.links.value == "")
{
alert("Bitte geben Sie eine Position für Links ein !");
document.grafik_einstellen.links.focus();
return false;
}

if(document.grafik_einstellen.oben.value == "")
{
alert("Bitte geben Sie eine Position für Oben ein !");
document.grafik_einstellen.oben.focus();
return false;
}
}
// -->
</script>

<script language="JavaScript">
<!--
function meldung_grafik_einstellen()
{
document.grafik_einstellen.neu_grafik.value=document.grafik_einstellen.grafik.value;
}
// -->
</script>

<script language="JavaScript">
<!--
function loadfunktion()
{ 
checkformular()
meldung_grafik_einstellen() 
} 
// -->
</script>
form-Tag: onsubmit="return loadfunktion()"

Die Frage ist: wo muss das return false hin?

ich habs gerade mal so probiert: onsubmit="return loadfunktion(); return false", hat aber acuh nichts genützt.

Hast Du vielleicht noch n Tipp?
 
Nehme eine in "loadfunktion" eine Variable, deren Wert eingangs "true" ist.
In "checkformular()" setzte dann diese Variable(dort, wo du bisher "return false" zu stehen hast)...auf false

Am Ende von loadfunktion() notiere noch ein
Code:
return returnVariable
Der Rückgabewert von loadfunktion ist somit der Inhalt dieser Variablen... ist diese "false", wird das Senden abgebrochen.
 
Deine loadfunction muß den richtigen Rückgabewert liefern

Etwa so

function loadfunktion()
{
return (checkformular() && meldung_grafik_einstellen());
}

allerdings sollten dann die beiden aufgerufenen Funktionen ebenfalls immer einen Rückgabewert liefern
vop
 

Neue Beiträge

Zurück