2016-04-05 7 views
0

Hallo Leute Ich würde gerne wissen, ob es möglich ist, die Funktion "confirm" nur aufzurufen, wenn die Funktionen checkV, checkV1, checkV2 erledigt sind und das Formular komplett ist ausgefüllt.Wie Funktion D nur aufgerufen wird, nachdem die Funktionen A, B und C erledigt sind

HTML & Javascript

http://pastebin.com/xY1MBhv5

function checkV() { 
 
    var check = document.getElementById("voornaam").value; 
 

 
    if (isNaN(check) || check.length == 0) { 
 
    return true; 
 
    } else { 
 
    alert("In de naamvelden geen cijfers invoeren s.v.p."); 
 
    } 
 

 
}; 
 

 
function checkV1() { 
 
    var check1 = document.getElementById("achternaam").value; 
 

 
    if (isNaN(check1) || check1.length == 0) { 
 
    return true; 
 
    } else { 
 
    alert("In de naamvelden geen cijfers invoeren s.v.p."); 
 
    } 
 
}; 
 

 
function checkV2() { 
 
    var check2 = document.getElementById("toneelspeler").value; 
 

 
    if (isNaN(check2) || check2.length == 0) { 
 
    return true; 
 
    } else { 
 
    alert("In de naamvelden geen cijfers invoeren s.v.p."); 
 
    } 
 
}; 
 

 

 
function confirm() { 
 
    var voorNaam = document.getElementById("voornaam").value; 
 
    var toneelNaam = document.getElementById("toneelspeler").value; 
 
    var achterNaam = document.getElementById("achternaam").value; 
 

 
    alert("Beste " + voorNaam + " " + achterNaam + ", ontzettend bedankt voor je wens, we zullen ervoor zorgen dat   " + toneelNaam + " je wens zal ontvangen!"); 
 

 
}; 
 

 
window.onload = function() { 
 
    document.getElementById('submit').onclick = function() { 
 

 
    checkV() 
 
    checkV1() 
 
    checkV2() 
 
    confirm() 
 
    }; 
 
};
<header> 
 
    <div id="logo"> 
 
    <a href="home.html"> 
 
     <img src="logo.png" id="home" alt="Logo van Het Imperium Theater"> 
 
    </a> 
 
    <a href="http://www.facebook.com" target="blank"> 
 
     <img src="facebook.png" id="facebook" alt="facebook" /> 
 
    </a> 
 
    <a href="http://www.twitter.com" target="blank"> 
 
     <img src="twitter.png" id="twitter" alt="twitter" /> 
 
    </a> 
 
    </div> 
 

 
    <nav> 
 
    <ul> 
 
     <li><a href="Home.html">Home</a> 
 
     </li> 
 
     <li><a href="Agenda.html">Agenda</a> 
 
     </li> 
 
     <li><a href="Het Theater.html">Het Theater</a> 
 
     </li> 
 
     <li><a href="Ontdek Leiden.html">Ontdek Leiden</a> 
 
     </li> 
 
     <li><a href="Contact.html">Contact</a> 
 
     </li> 
 
    </ul> 
 
    </nav> 
 

 
</header> 
 

 
<div id="wrapper"> 
 

 
    <form id="form" name="form"> 
 
    <h1>Verstuur een wens.</h1> 
 
    <div id="forms"> 
 
     <label for="voornaam">Voornaam: 
 
     <input type="text" name="name" id="voornaam" placeholder="uw voornaam" name="fname" required> 
 
     </label> 
 
     <label for="achternaam">Achternaam: 
 
     <input type="text" name="name" id="achternaam" placeholder="uw achternaam" name="fname" required> 
 
     </label> 
 
     <label for="toneelspeler">Naam toneelspeler: 
 
     <input type="text" name="name" id="toneelspeler" placeholder="naam van de toneelspeler" name="fname" required> 
 
     </label> 
 
     <label for="boodschap">Uw wens: 
 
     <textarea rows="4" cols="20" name="name" placeholder="Type hier uw wens" required></textarea> 
 
     </label> 
 
    </div> 
 
    <input type="submit" value="Submit" id="submit"> 
 

 
    </form> 
 

 
</div> 
 

 
<footer> 
 
    <a href="home.html"> 
 
    <p>Theater Imperium</p> 
 
    </a> 
 
    <p>Oude Vest 33e</p> 
 
    <p>2312 XR Leiden</p> 
 
    <p>071 5141035</p> 
 
    <p>&copy; Arpiar Melikjan</p> 
 

 
</footer>

+0

Variablen erstellen, wenn checkV checkV1 und checkV2 erledigt sind. Standardwert false, setzen Sie am Ende dieser 3 Funktionen die entsprechende Variable auf true. Am Anfang von "Bestätigen" sagen Sie 'if (checkVdone && checkV2done && checkV3done) {[alles]}' .Ich weiß nicht viel über die Validierung, aber Sie könnten jedes Feld für einen Wert neben dem Standard überprüfen. – Observer

Antwort

0

Gemäß dem angegebenen Link, wenn alles in Ordnung ist, werden checkV(), checkV1() und checkV2()true zurückgeben, andernfalls undefined. Sie können etwas tun:

if(checkV() && checkV1() && checkV2()) 
    //Do submit 

EDIT:

Wenn Sie mehr Kontrolle über Ihre Steuerfluss wollen (die bei der Fehlersuche hilfreich sein kann), könnte man so etwas tun:

if(checkV()) { 
    if(checkV1()) { 
     if(checkV2()) { 
      //Do submit 
     } 
    } 
} 

Jetzt können Sie else Blöcke zuordnen und Maßnahmen gemäß der Methode ergreifen, die Ihre Eingabe nicht überprüfen konnte.

+0

Vielen Dank! – kensington

+0

Das wäre sehr schwer zu debuggen und zu warten, wenn Sie _which_ Funktion wissen müssten, gab false zurück. Nesting-Funktionen sieht cool aus, aber es ist nicht. –

+0

Ich habe eine andere Frage, wenn eine Nummer ausgefüllt ist, bekomme ich eine Warnung, die besagt, dass Sie die Zahl nicht ausfüllen können, das ist richtig. Aber wenn ich zB "hey12" ausfülle, validiert die Funktion es als richtig. Wenn also eine Zahl ausgefüllt ist, ist die Validation in Kombination mit einem Zeichen korrekt, während es nicht sein sollte. – kensington

Verwandte Themen