Struppi: function checkForm does not always return a value

Beitrag lesen

bei der filgenden Funktino erhalte ich über FFOX die folgende Warnung:
"function checkForm does not always return a value"

Auf deutsch: Funktion checkForm tut nicht immer einen Wert zurückgeben.

<script>

das Type Attribut hast du nur gelöscht um uns zu ärgern ;-)

statments = '{'+
    'var oTextNode = document.createTextNode(text);'+
    'document.getElementById("errorTxt").replaceChild(oTextNode, document.getElementById("errorTxt").firstChild);'+
    'document.getElementById("errorTxt").className = "errorVisible";'+
    'return false;'+
    '}';
  errorMessage = new Function('text', statments);

Nicht schlecht, aber warum du nicht eine normale Funktion nimmst, ist mir Rätselhaft.

function errorMessage (text)
{
     var oTextNode = document.createTextNode(text);
     document.getElementById("errorTxt").replaceChild(oTextNode, document.getElementById("errorTxt").firstChild);
     document.getElementById("errorTxt").className = "errorVisible";
}

function checkForm(){
   var manFrau = document.abo.tlt.options[document.abo.tlt.selectedIndex].value;
   var firstName = document.abo.fnm.value;
   var lastName = document.abo.lnm.value;
   var email = document.abo.uemail.value;

Das es ein leichtes ist, das Formular als Referenz zu übergeben und damit eine Menge Tipparbeit zu sparen solltest du auch schon mal gehört haben:

<form method="post" action="email_do.jsp" onsubmit="return checkForm(this)">

function checkForm(form){
var manFrau = form.tlt.options[form.tlt.selectedIndex].value;
var firstName = form.fnm.value;
var lastName = form.lnm.value;
var email = form.uemail.value;

window.location.href='welcome.jsp';

auch wenn es keinen Sinn macht sollte dann hier ein return true erfolgen, aber das Formular wird nicht mehr abgeschickt (manchmal schon), da du die Seite ja schon erneuert hast.

Ich weiß du bist relativ Beratungsresitent, ich hab das nur geschrieben, damit dass so nicht im Archiv landet.

Struppi.

--
Javascript ist toll (Perl auch!)