This commit is contained in:
@@ -79,7 +79,6 @@ theme: default
|
|||||||
- Relationale Operatoren & Vergleichoperatoren
|
- Relationale Operatoren & Vergleichoperatoren
|
||||||
- isNaN
|
- isNaN
|
||||||
- Lexikographische Vergleiche
|
- Lexikographische Vergleiche
|
||||||
- if else Verzweigung und ternärer Operator
|
|
||||||
- **Exkurs: HTML-Formularfelder**
|
- **Exkurs: HTML-Formularfelder**
|
||||||
- 1:1 Meeting
|
- 1:1 Meeting
|
||||||
|
|
||||||
@@ -94,6 +93,7 @@ theme: default
|
|||||||
**Inhalt:**
|
**Inhalt:**
|
||||||
|
|
||||||
- **Exkurs: HTML Formularfelder mit BS**
|
- **Exkurs: HTML Formularfelder mit BS**
|
||||||
|
- if else Verzweigung und ternärer Operator
|
||||||
- logische Operatoren UND und ODER
|
- logische Operatoren UND und ODER
|
||||||
- unärer Operator (!)
|
- unärer Operator (!)
|
||||||
- String Methoden Part I
|
- String Methoden Part I
|
||||||
|
|||||||
209
01_grundlagen/uebungen/o01_kontaktformular-ersin.html
Normal file
209
01_grundlagen/uebungen/o01_kontaktformular-ersin.html
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>FormularUebung</title>
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<div class="container py-5">
|
||||||
|
<h1>FormularUebung</h1>
|
||||||
|
|
||||||
|
<form class="form-contact">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-sm-6">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-firstname" class="form-label">Vorname</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-firstname"
|
||||||
|
name="firstname"
|
||||||
|
class="form-control input-firstname"
|
||||||
|
placeholder="Vorname eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm-6">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-lastname" class="form-label">Nachname</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-lastname"
|
||||||
|
name="lastname"
|
||||||
|
class="form-control input-lastname"
|
||||||
|
placeholder="Nachname eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-sm-8">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-street-name" class="form-label">Straße</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-street-name"
|
||||||
|
name="street-name"
|
||||||
|
class="form-control input-street-name"
|
||||||
|
placeholder="Straße eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-housenr" class="form-label">Hausnummer</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-housenr"
|
||||||
|
name="housenr"
|
||||||
|
class="form-control input-housenr"
|
||||||
|
placeholder="Hausnr. eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Bei type=number mit min="00000" und max="999999" sind Ergebnisse wie 7 möglich, daher type="text"-->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-sm">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-zipcode" class="form-label">Postleitzahl</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-zipcode"
|
||||||
|
name="zipcode"
|
||||||
|
class="form-control input-zipcode"
|
||||||
|
placeholder="PLZ eingeben..."
|
||||||
|
minlength="5"
|
||||||
|
maxlength="7" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-sm-8">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-town" class="form-label">Stadt/Ort</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-town"
|
||||||
|
name="town"
|
||||||
|
class="form-control input-town"
|
||||||
|
placeholder="Ort eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="select-country" class="form-label">Land auswählen</label>
|
||||||
|
<select name="country" class="form-select" id="select-country">
|
||||||
|
<option value="" selected>Bitte Land auswählen</option>
|
||||||
|
<optgroup label="Südamerika">
|
||||||
|
<option value="ag">Argentinien</option>
|
||||||
|
<option value="br">Brasilien</option>
|
||||||
|
<option value="uy">Uruguay</option>
|
||||||
|
<option value="cl">Chile</option>
|
||||||
|
</optgroup>
|
||||||
|
<optgroup label="Europa">
|
||||||
|
<option value="de">Deutschland</option>
|
||||||
|
<option value="fr">Frankreich</option>
|
||||||
|
<option value="es">Spanien</option>
|
||||||
|
<option value="it">Italien</option>
|
||||||
|
</optgroup>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-email" class="form-label">Type: email</label>
|
||||||
|
<input
|
||||||
|
type="email"
|
||||||
|
required
|
||||||
|
class="form-control"
|
||||||
|
name="email"
|
||||||
|
id="input-email"
|
||||||
|
placeholder="E-Mail Adresse eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-subject" class="form-label">Thema</label>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
id="input-subject"
|
||||||
|
name="subject"
|
||||||
|
class="form-control input-subject"
|
||||||
|
placeholder="Thema eingeben..." />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="input-message" class="form-label">Nachricht</label>
|
||||||
|
<textarea
|
||||||
|
id="input-message"
|
||||||
|
name="message"
|
||||||
|
class="form-control input-message"
|
||||||
|
placeholder="Deine Nachricht"></textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col">
|
||||||
|
<div class="mb-3">
|
||||||
|
<button type="submit" class="btn btn-dark">Formular abschicken</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
<script>
|
||||||
|
// Vorname, Nachname,
|
||||||
|
// Str, Hausnummer
|
||||||
|
// pls, ort
|
||||||
|
// Land (select)
|
||||||
|
// Email
|
||||||
|
// subject
|
||||||
|
// message
|
||||||
|
|
||||||
|
// btn
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const form = document.querySelector('.form-contact');
|
||||||
|
|
||||||
|
// eventlistener function e soll bei abschicken ausgeführt werden
|
||||||
|
form.addEventListener('submit', function (e) {
|
||||||
|
e.preventDefault(); // Damit die Seite nich neu lädt wie beim Beispiel am Freitag
|
||||||
|
|
||||||
|
const firstnameEl = document.getElementById('input-firstname').value;
|
||||||
|
const lastnameEl = document.getElementById('input-lastname').value;
|
||||||
|
const streetEl = document.getElementById('input-street-name').value;
|
||||||
|
const housenrEl = document.getElementById('input-housenr').value;
|
||||||
|
const zipcodeEl = document.getElementById('input-zipcode').value;
|
||||||
|
const townEl = document.getElementById('input-town').value;
|
||||||
|
const emailEl = document.getElementById('input-email').value;
|
||||||
|
const subjectEl = document.getElementById('input-subject').value;
|
||||||
|
const messageEl = document.getElementById('input-message').value;
|
||||||
|
//Bei Feldern, wo man was auswählen muss
|
||||||
|
const countrySelectEl = document.querySelector('select[name="country"]');
|
||||||
|
// const country = countrySelectEl.options[countrySelect.selectedIndex].text;
|
||||||
|
const country = countrySelectEl.value;
|
||||||
|
console.log(countrySelectEl);
|
||||||
|
|
||||||
|
const summary = `Vorname: ${firstnameEl}, Nachname: ${lastnameEl}, Straße: ${streetEl} ${housenrEl}, PLZ: ${zipcodeEl}, Ort: ${townEl}, Land: ${country}, E-Mail: ${emailEl}, Thema: ${subjectEl}, Nachricht: ${messageEl}`;
|
||||||
|
|
||||||
|
console.log(summary);
|
||||||
|
alert(summary);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
console.log(isNaN(3)); // => false
|
console.log(isNaN(3)); // => false
|
||||||
console.log(isNaN('Hallo')); // => true
|
console.log(isNaN('Hallo')); // => true
|
||||||
|
|
||||||
// seit ES6 (2015)
|
// seit ES6 (2015)
|
||||||
console.log(Number.isNaN('Hallo')); // => true
|
console.log(Number.isNaN('Hallo')); // => true
|
||||||
|
|
||||||
@@ -44,6 +45,7 @@
|
|||||||
console.log(isNaN('3,5')); //=> true - Eselsbrücke mit 2 multiplizieren -> '3,5' * 2 => NaN
|
console.log(isNaN('3,5')); //=> true - Eselsbrücke mit 2 multiplizieren -> '3,5' * 2 => NaN
|
||||||
|
|
||||||
console.log(isNaN('3m')); //=> '3m' * 2 -> NaN --> true
|
console.log(isNaN('3m')); //=> '3m' * 2 -> NaN --> true
|
||||||
|
console.log(isNaN(NaN)); //=> true
|
||||||
|
|
||||||
// Verneinung über ! - unärer Operator (NOT)
|
// Verneinung über ! - unärer Operator (NOT)
|
||||||
console.log(!isNaN('17.7')); // => true
|
console.log(!isNaN('17.7')); // => true
|
||||||
|
|||||||
@@ -75,6 +75,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
// DOM & Variablendeklaration
|
// DOM & Variablendeklaration
|
||||||
|
|
||||||
const DOM = {
|
const DOM = {
|
||||||
// eigenschaft: 'Wert',
|
// eigenschaft: 'Wert',
|
||||||
formCalculator: document.querySelector('.form-calculator'),
|
formCalculator: document.querySelector('.form-calculator'),
|
||||||
@@ -84,6 +85,7 @@
|
|||||||
buttonCalculate: document.querySelector('.button-calculate'),
|
buttonCalculate: document.querySelector('.button-calculate'),
|
||||||
output: document.querySelector('.output'),
|
output: document.querySelector('.output'),
|
||||||
};
|
};
|
||||||
|
|
||||||
// const formCalculatorEl = document.querySelector('.form-calculator');
|
// const formCalculatorEl = document.querySelector('.form-calculator');
|
||||||
// const inputDistanceEl = document.querySelector('.input-distance');
|
// const inputDistanceEl = document.querySelector('.input-distance');
|
||||||
// const inputFuelUsedEl = document.querySelector('.input-fuel-used');
|
// const inputFuelUsedEl = document.querySelector('.input-fuel-used');
|
||||||
|
|||||||
@@ -266,11 +266,12 @@
|
|||||||
<!-- Input:button Input:reset werden selten verwendet. -->
|
<!-- Input:button Input:reset werden selten verwendet. -->
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="input-reset">Type: reset</label>
|
<label for="input-reset">Type: reset</label>
|
||||||
<input type="reset" class="btn btn-danger" name="reset" id="input-reset" />
|
<!-- <input type="reset" class="btn btn-danger" name="reset" id="input-reset" /> -->
|
||||||
|
<button type="reset" class="btn btn-danger">Zurücksetzen</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<!-- <input type="submit" value="Formular abschicken" /> -->
|
<!-- <input type="submit" class="btn btn-dark" value="Formular abschicken" /> -->
|
||||||
<button type="submit" class="btn btn-dark">Formular abschicken</button>
|
<button type="submit" class="btn btn-dark">Formular abschicken</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
Reference in New Issue
Block a user