Hallo,
folgender Code:
Das Problem liegt darin, dass das in der Funktion AddFlight an die neue Tabellenreihe angeknüpfte OnClick-Event sich von selbst auslöst.
Wie kann man das verhindern?
LG
m9898
folgender Code:
HTML-Quellcode
- <!DOCTYPE html>
- <html>
- <head>
- <title>Startliste</title>
- <link rel="stylesheet" href="style.css" />
- <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
- <link rel="stylesheet" href="jquery.css" />
- <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
- <script>
- var date = new Date();
- var flugnummer = "0";
- var departures = [""];
- var landings = [""];
- function ChangeStarttype() {
- if(document.getElementById('form-starttype').value == 'F-Schlepp') {
- document.getElementById('form-starttype').value = 'Windenstart';
- } else {
- document.getElementById('form-starttype').value = 'F-Schlepp';
- }
- }
- function ChangeTrainingperformance() {
- if(document.getElementById('form-trainingperformance').value == 'Schulungsflug') {
- document.getElementById('form-trainingperformance').value = 'Leistungsflug';
- } else {
- document.getElementById('form-trainingperformance').value = 'Schulungsflug';
- }
- }
- function ActionformOpen() {
- document.getElementById('action-bar').style.height='100%';
- document.getElementById('action-button').style.opacity='0';
- document.getElementById('action-button').style.display='none';
- document.getElementById('action-form').style.display='block';
- document.getElementById('action-form').style.opacity='1';
- }
- function ActionformClose() {
- document.getElementById('action-bar').style.height='0%';
- document.getElementById('action-button').style.opacity='1';
- document.getElementById('action-button').style.display='block';
- document.getElementById('action-form').style.display='none';
- document.getElementById('action-form').style.opacity='0';
- }
- function AddFlight() {
- //Flugnummer erhoehen
- flugnummer++;
- //Tabelle auswaelen
- var table = document.getElementById("main");
- //Reihe in Tabelle einfuegen
- var row = table.insertRow(flugnummer);
- row.className = "main-flight-active";
- row.id = "f" + flugnummer
- //Erste Kullumne einfuegen
- var flugnummerRow = row.insertCell(0);
- flugnummerRow.id = "main-flight-number";
- flugnummerRow.innerHTML = flugnummer;
- //Zweite Kulummne einfuegen
- var pilotRow = row.insertCell(1);
- pilotRow.id = "main-flight-pilot";
- pilotRow.innerHTML = document.getElementById("form-pilot").value;
- //Dritte Kulummne einfuegen
- var passengerRow = row.insertCell(2);
- passengerRow.id = "main-flight-passenger";
- passengerRow.innerHTML = document.getElementById("form-passenger").value;
- //Abflugzeit eintragen
- var d = new Date();
- departures.push(d);
- //Flug-hinzufügen-menü schliessen
- ActionformClose();
- row.onclick = EndFlight(this.rowIndex + 1);
- }
- function EndFlight(nummer) {
- document.getElementById("f" + nummer).className = "main-flight-deactive";
- }
- $(function() {
- var mitglieder = [
- "Mister Zensus"
- ];
- var kennzeichen = [
- "D-0007",
- "D-1111",
- "D-KKKK"
- ];
- var flugzeugmuster = [
- "ASK 21",
- "LS4",
- "Falke SF25C"
- ];
- $( "#form-pilot" ).autocomplete({
- source: mitglieder
- });
- $( "#form-passenger" ).autocomplete({
- source: mitglieder
- });
- $( "#form-license" ).autocomplete({
- source: kennzeichen
- });
- $( "#form-airplane" ).autocomplete({
- source: flugzeugmuster
- });
- });
- </script>
- </head>
- <body>
- <table id="main">
- <tr class="main-header">
- <th id="main-number">Nr.</th>
- <th id="main-pilot">Pilot</th>
- <th id="main-passenger">Passagier</th>
- </tr>
- </table>
- <div id="action-bar">
- <div id="action-button" onclick="ActionformOpen();"></div>
- <div id="action-form">
- <h1>Flug hinzufügen</h1>
- <form id="action-form-form" action="javascript:AddFlight();">
- <input type="text" class="form-text" required="true" id="form-pilot" placeholder="Pilot / Flugschüler"></input>
- <input type="text" class="form-text" id="form-passenger" placeholder="Passagier / Fluglehrer"></input>
- <input type="text" class="form-text-half" required="true" id="form-license" placeholder="Kennzeichen"></input>
- <input type="text" class="form-text-half" required="true" id="form-airplane" placeholder="Muster"></input>
- <input type="button" class="form-select-half" id="form-starttype" onclick="ChangeStarttype();" value="F-Schlepp"></input>
- <input type="button" class="form-select-half" id="form-trainingperformance" onclick="ChangeTrainingperformance();" value="Schulungsflug"></input>
- <input type="submit" class="submitbutton" id="form-submit" value="Hinzufügen"></input>
- </form>
- </div>
- </div>
- </body>
- </html>
Das Problem liegt darin, dass das in der Funktion AddFlight an die neue Tabellenreihe angeknüpfte OnClick-Event sich von selbst auslöst.
Wie kann man das verhindern?
LG
m9898