Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 44.784
» Neuestes Mitglied: aandsdirect
» Foren-Themen: 92.705
» Foren-Beiträge: 94.541

Komplettstatistiken

Benutzer Online
Momentan sind 351 Benutzer online
» 4 Mitglieder
» 343 Gäste
Bing, Facebook, Google, Yandex, cartool, Lildon, lothar, tuu8

Aktive Themen
lantek v28
Forum: Datenbanken
Letzter Beitrag: cartool
Vor 1 Minute
» Antworten: 0
» Ansichten: 1
oli studio 10.0
Forum: Html
Letzter Beitrag: tuu8
Vor 2 Minuten
» Antworten: 0
» Ansichten: 1
Kjøp høykvalitets Prozac ...
Forum: Php
Letzter Beitrag: lothar
Vor 4 Minuten
» Antworten: 0
» Ansichten: 1
oli esp flowsheet 10.0
Forum: Html
Letzter Beitrag: tuu8
Vor 6 Minuten
» Antworten: 0
» Ansichten: 2
Køb 5cladba online i Danm...
Forum: Datenbanken
Letzter Beitrag: Lildon
Vor 8 Minuten
» Antworten: 0
» Ansichten: 1
TubesT
Forum: Datenbanken
Letzter Beitrag: cartool
Vor 8 Minuten
» Antworten: 0
» Ansichten: 2
landmark EDT 5000.17.2 20...
Forum: Html
Letzter Beitrag: tuu8
Vor 10 Minuten
» Antworten: 0
» Ansichten: 1
hypermill v2023.2
Forum: Html
Letzter Beitrag: tuu8
Vor 14 Minuten
» Antworten: 0
» Ansichten: 2
Køb Pregabalin-Powder onl...
Forum: Datenbanken
Letzter Beitrag: Lildon
Vor 16 Minuten
» Antworten: 0
» Ansichten: 1
stata mp v17.0
Forum: Datenbanken
Letzter Beitrag: cartool
Vor 18 Minuten
» Antworten: 0
» Ansichten: 1

  Umgang mit Layern
Geschrieben von: Questioner - 07.04.2022, 15:06 - Forum: Javascript - Antworten (1)

Hallo Leute,

ich erstelle oft Webanwendungen, bei welchen selten die Seite neu gleaden wird, dafür sehr viel Benutzerinteraktion über Layer realisiert werden. Dabei ist es egal, ob es sich einfach nur um eine Message Box handelt (z.B. für Warnmeldungen oder Ja/Nein-Abfragen) oder um sehr komplexe Layerinhalte mit viel implementierter Logik (z.B. Prdouktpflege, etc.).

Obwohl ich da schon viel umgesetzt habe, stelle ich mir immer wieder die Frage, wie ich mit Layern am besten umgehen sollte:

  1. Den Layer nach dem Schließen ausblenden (oder in einen ausgeblendeten Node schieben) und bei der nächsten Anzeige wiederverwenden und reinitialisieren oder
  2. den Layer nach dem Schließen wegwerfen (removeChild) und bei der nächsten Anzeige neu erstellen.
Rein aus Entwicklungssicht würde ich die 2. Variante bevorzugen, denn gerade komplexe Layer nach der Benutzerinteraktion auf den Ursprung zurückzusetzen kann sehr aufwändig und fehleranfällig sein. Wenn der Layer einfach neu erstellt wird, hat man immer eine fest definierte Ausgangsbasis, die einheitlich initialisiert werden kann. Zudem kann das HTML-Gerüst des Layers per Ajax geladen werden und muss nicht aufwändig per JavaScript erzeugt werden oder als Template bereits im DOM verweilen, obwohl es ggf. gar nicht benötigt wird. Und die Variante erleichtert die modulare Programmierung.

Dagegen spricht aber
  • die längere Erstellzeit (was aber eher ein theoretisches Problem sein dürfte),
  • bei Laden mittels Ajax eine höhere Datenübertragun
  • meine Ungwissheit, wie Browser mit gelöschten Elementen (die ja auch JS-Events triggern) umgehen bzw. ob sich regelmäßiges Erstellen/Löschen/Erstellen/Löschen nicht irgendwann auf die Performance niederschlägt, wenn die gelöschten Elemente noch irgendwo im Speicher verweilen, bis die Seite neu geladen wird.
Was denkt ihr? Was ist wohl der beste Weg? Gibt es da best practice Änsätze?

Beste Grüße!

Drucke diesen Beitrag

  code verkürzen
Geschrieben von: frankmehlhop - 04.04.2022, 16:31 - Forum: TypeScript - Antworten (1)

Wie kann ich die Zeile 4 mit in den Suchausdruck (LinQ?) in Zeile 3 integrieren?

let product = new ProductModel();
let pEx: ProduktExtendedModel;
pEx = this.products.find(i => i.pd.pdnr === event.objectId);
product = pEx.pd;

Drucke diesen Beitrag

  Frage zu bind und Standardwerten...
Geschrieben von: Gast - 04.04.2022, 14:47 - Forum: Javascript - Antworten (2)

Hi Leute,

folgendes Beispiel, bei dem ich nicht durchblicke...

Code:
function test(a, b=17, c=81, d="LLLL")
{
    console.log("a: "+a+" | b: "+b+" | c: "+c+" | d: "+d);
}

let kkk = test.bind(null,4);
document.querySelector("IRGENDWAS_HALT").addEventListener("click",kkk);

Der Code liefert mir folgende Ausgabe:
Zitat:a: 4 | b: [object MouseEvent] | c: 81 | d: LLLL


Ist sicherlich etwas einfaches, aber ich komme grad einfach nicht drauf, warum nicht der Standard von b verwendet wird...

Danke schonmal.

Drucke diesen Beitrag

Photo Problem mit Accordion
Geschrieben von: sfthbara - 03.04.2022, 10:22 - Forum: Javascript - Antworten (2)

Hi, ich habe von w3Schools das Beispiel auf meiner Webseite versucht zu implementieren: 
https://www.w3schools.com/howto/howto_js_accordion.asp
Leider funktioniert es nicht richtig und ich habe leider auch keine Ahnung warum.  Die p-tags lassen sich zwar öffnen und schließen. Aber es zeigt sich weder der Inhalt noch ist die Größe richtig. 
Kann mir da jemand Tipps geben?
Vielen Dank

   

Drucke diesen Beitrag

  Client berechtigen für Programmzugriff
Geschrieben von: Falke07 - 03.04.2022, 08:52 - Forum: Javascript - Antworten (4)

Hallo zusammen,
bin hier neu im Forum und hoffen Ihr könnt mir einen Tipp / Link senden, welcher mi bei meinem Problem weiterhilft.

Ich bin Suche nach einer Möglichkeit, einen Client (WIN), welcher über das Internet eine von mir erstelltes Programm (PhP) aufruft, eindeutig zu Identifizieren. 
Hintergrund ist, das ich bestimmen muss, ob der Client auf das Programm zugreifen darf oder nicht. (Es muss am Client hängen und nicht am Benutzer).

Eigentlich dachte ich an die MAC- Adresse (in eine DB eintragen und Gegenprüfen), dies schein aber wohl nach meinen Recherchen ein Problem zu sein.
Dann dachte ich daran, eine Datei auf dem Client abzulegen, welche ausgelesen wird, aber da diese ja kopiert werden kann, wäre das keine sichere Lösung.

Habt Ihr vielleicht eine Idee / Gedankenanstoß, wie ich so etwas umsetzen könnte?

Für Eure Antworten ein Danke im Voraus.

Gruß
Falke07

Drucke diesen Beitrag

  Uhrzeit addieren
Geschrieben von: little-key - 02.04.2022, 09:10 - Forum: Javascript - Antworten (1)

Hallo liebe Mitglieder,

ich benötige hier mal Hilfe.

Zur Zeit sieht es so aus:

Code:
<label for="pickup_from" class="ffs_red">Ihre Abholzeit zwischen</label><br />
    <select type="time" id="pickup_from" name="pickup_from"    class="ffs_time">
        <option name="pickup_from" class="ffs_opt-b" selected="selected">--:--</option>
        <option name="pickup_from" class="ffs_opt-b">10:00</option>
        <option name="pickup_from" class="ffs_opt-b">11:00</option>
        <option name="pickup_from" class="ffs_opt-b">12:00</option>
        <option name="pickup_from" class="ffs_opt-b">13:00</option>
        <option name="pickup_from" class="ffs_opt-b">14:00</option>
        <option name="pickup_from" class="ffs_opt-b">15:00</option>
        <option name="pickup_from" class="ffs_opt-b">16:00</option>
    </select>
    <label for="pickup_to" class="ffs_red">und</label>
    <select type="time" id="pickup_to" name="pickup_to"    class="ffs_time">
        <option name="pickup_to" class="ffs_opt-b" selected="selected">--:--</option>
        <option name="pickup_to" class="ffs_opt-b">11:00</option>
        <option name="pickup_to" class="ffs_opt-b">12:00</option>
        <option name="pickup_to" class="ffs_opt-b">13:00</option>
        <option name="pickup_to" class="ffs_opt-b">14:00</option>
        <option name="pickup_to" class="ffs_opt-b">15:00</option>
        <option name="pickup_to" class="ffs_opt-b">16:00</option>
        <option name="pickup_to" class="ffs_opt-b">17:00</option>
    </select>

Nun möchte ich gern den Bereich select "pickup_to" geändert haben in:
Code:
<input type="text" id="pickup_to" name="pickup_to" class="ffs_date" (Ausgabe: pickup_from + 1 Stunde)

Grund: Die Auswahl der Uhrzeit soll damit auf 1 Stunde beschränkt werden.
Javascript ist nicht mein Steckenpferd, ihr habt sicher eine einfache Idee.

Lieben Dank Mario

Drucke diesen Beitrag

  Abarbeitung einer Fetch - JavaSript
Geschrieben von: mat-sche - 31.03.2022, 12:31 - Forum: Javascript - Antworten (7)

Liebes Forum,

ich benötige JavaScript in meinen Webseiten-Serveranwendungen auf einem ESP8266. Ich schicke per fetch über meinen ESP

Code:
server.send(200, "application/json", "[\"" +  String(bitRead(buttonstate_index[0], 0)) +                     // Sende Statuszustand
      "\",\"" +  String(bitRead(buttonstate_index[0], 1)) + "\",\"" +  String(bitRead(buttonstate_index[0], 2)) +
     "\",\"" +  String(bitRead(buttonstate_index[0], 3)) + "\",\"" +  String(bitRead(buttonstate_index[0], 4)) +
     "\",\"" +  String(bitRead(buttonstate_index[0], 5)) + "\",\"" +  String(bitRead(buttonstate_index[0], 6)) +
     "\",\"" +  String(bitRead(buttonstate_index[0], 7)) + "\",\"" +  String(bitRead(buttonstate_index[1], 0)) +
     "\",\"" +  String(bitRead(buttonstate_index[1], 1)) + "\",\"" +  String(bitRead(buttonstate_index[1], 2)) +
     "\",\"" +  String(bitRead(buttonstate_index[1], 3)) + "\",\"" +  String(bitRead(buttonstate_index[1], 4)) +
     "\",\"" +  String(bitRead(buttonstate_index[1], 5)) + "\",\"" +  String(bitRead(buttonstate_index[1], 6)) +
     "\",\"" +  String(bitRead(buttonstate_index[1], 7)) + "\", \"Tor offen""\"]");
die Daten, die auch schön im Browser vom Client abgearbeitet werden:

mit dem Programmteil erfolgt die Datenauswertung bestens:
Code:
function loadDaten() {
            fetch('/ButtonData')
                .then(function(response) {
                    return response.json();
                })
                .then(function(myArr) {
                    document.getElementById("Text-1").innerHTML = myArr[16];
                    buttonstate(0, myArr[0]);
                    buttonstate(1, myArr[1]);
                    buttonstate(2, myArr[2]);
                    buttonstate(3, myArr[3]);
                    buttonstate(4, myArr[4]);
                    buttonstate(5, myArr[5]);
                    buttonstate(6, myArr[6]);
                    buttonstate(7, myArr[7]);
                    buttonstate(8, myArr[8]);
                    buttonstate(9, myArr[9]);
                    buttonstate(10, myArr[10]);     
                    buttonstate(11, myArr[11]);
                    buttonstate(12, myArr[12]);
                    buttonstate(13, myArr[13]);
                    buttonstate(14, myArr[14]);
                    buttonstate(15, myArr[15]);
                    });
aber wenn ich aber :
Code:
document.getElementById("Text-1").innerHTML = myArr[16]
ans Ende der Funktion lege, werden die Daten nicht aus dem Array geladen.

Warum ist das denn so?

Grüße MAT

Drucke diesen Beitrag

  fetch return außerhalb von Funktion nutzen
Geschrieben von: sfthbara - 30.03.2022, 11:12 - Forum: Javascript - Antworten (1)

Hallo,
wie kann ich den output_json außerhalb meiner Funktion nutzen bzw. was muss ich an dieser Funktion ändern damit es klappt?
Vielen Dank für eure Hilfe

Code:
lists = getContentFromPHP(1,'loadListNames_your.php')
console.log(lists)

Code:
function getContentFromPHP(param1,php_function){
    const params = new FormData();
        params.append('post_var', param1);
        fetch(php_function, {
            method: 'post',
            body: params
        }).then(res => {
            return res.text();
        }).then(res => {
            output = res;
            let output_json = JSON.parse(output);
            console.log(output_json)
          
        })
        return output_json
}

Drucke diesen Beitrag

  2 Google Sheets Tabellen in 1 .html Seite auslesen
Geschrieben von: WegMat - 27.03.2022, 12:24 - Forum: Javascript - Keine Antworten

Servus liebes Forum,

zuerst mal - ich bin absoluter Newbie in Sachen Java-Script. Deshalb bin ich auf Euere Hilfe angewiesen.

Hier mein Anliegen:
Ich habe in Google Sheets eine Tabelle mit mindestens 2 Tabellenblättern angelegt. Nun möchte ich in der .html-Seite 2 Container anlegen. Bis dahin klappt das auch. Aber ab jetzt bin ich mit meinem Latein am Ende, das es um Scripten geht. In dem linken Container nämlich soll Tabellenblatt 1 angezeigt werden im rechten Container soll Tabellenblatt 2 angezeigt werden.

Ich nutze hierfür ein Script von EasyData. Mit einem Tabellenblatt ist alles perfekt, aber sobald ich eben das 2. Tabellenblatt anzeigen möchte, weiß ich nicht mehr weiter. Aktuell wird nur ein Tabellenblatt angezeigt und beide Daten, die eigentlich separat angezeigt werden sollen, sind in der Google Sheets Datei nebeneinander angelegt. Dies gefällt mir aber eben nicht.

Hier der aktuell von mir genutzte Code:

Code:
<!DOCTYPE html>
<html lang="de">
<head>
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta charset="UTF-8" />
    <meta
      name="viewport"
      content="width=device-width, initial-scale=1, shrink-to-fit=no"
    />
    <meta http-equiv="x-ua-compatible" content="ie=edge" />
     
    <!-- MDB UI KIT -->

    <!-- Custom styles -->
  <style>
    .headline-left {
    font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, sans-serif;
    font-size: 24px;
    line-height: 60px;
    font-weight: 600;
    text-transform: uppercase;
    background-color: rgba(0,0,0,0.0);
    height: 60px;
    width: 390px;
    border-top-left-radius: 25px;
    border-left: 1px solid #FFC524;
    border-top: 1px solid #FFC524;
    color: #E3E3E3;
    padding-left: 30px;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.headline-right {
    font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "DejaVu Sans", Verdana, sans-serif;
    font-size: 24px;
    line-height: 60px;
    font-weight: 600;
    text-transform: uppercase;
    background-color: rgba(0,0,0,0.0);
    height: 60px;
    width: 350px;
    border-top-left-radius: 25px;
    border-left: 1px solid #FFC524;
    border-top: 1px solid #FFC524;
    color: #E3E3E3;
    padding-left: 30px;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
  </style>
    <link href="https://www.howe-simracing.de/css/bootstrap-4.4.1.css" rel="stylesheet" type="text/css">
    <link href="css/bootstrap-4.4.1.css" rel="stylesheet" type="text/css">
</head>

  <body>
  <div class="container-fluid">
    <!--Main layout-->
    <div class="table-responsive">
      <main>
        <div class="headline-left">Quali &amp;&nbsp; Rennergebnis</div>
        <table class="table">
          <thead class="bg-light" id="table-head">
          </thead>
          <tbody id="table-body">
          </tbody>
        </table>
      </main>
    </div>
  <!--Main layout-->
   
    <!--Footer-->
    <!--Footer-->
  </div>
  </body>
  <!-- Google API -->
  <script src="https://www.howe-simracing.de/js/api.js"></script>
  <!-- easyData -->
  <script type="text/javascript" src="https://www.howe-simracing.de/js/easyData-google-sheets.js"></script>

  <!-- easyData - Creating table -->
  <script>
    {
      {
        // Your API KEY
        const API_KEY = "AIzaSyCOXUTqyeYSVPfcx-UiQoKg-ZTF49MeKGs";

        function displayResult(response) {
          let tableHead = "";
          let tableBody = "";
          let tableHead2 = "";
          let tableBody2 = "";

          response.result.values.forEach((row, index) => {
            if (index === 0) {
              tableHead += "<tr>";
              tableHead2 += "<tr>";
              row.forEach((val) => (tableHead += "<th>" + val + "</th>"));
              row.forEach((val) => (tableHead2 += "<th>" + val + "</th>"));
              tableHead += "</tr>";
            } else {
              tableBody += "<tr>";
              tableBody2 += "<tr>";
              row.forEach((val) => (tableBody += "<td>" + val + "</td>"));
              row.forEach((val) => (tableBody2 += "<td>" + val + "</td>"));
              tableBody += "</tr>";

            }
          });

          document.getElementById("table-head").innerHTML = tableHead;
          document.getElementById("table-body").innerHTML = tableBody;
          document.getElementById("table-head2").innerHTML = tableHead2;
          document.getElementById("table-body2").innerHTML = tableBody2;
        }

        function loadData() {
          // Spreadsheet ID
          const spreadsheetId = "1Uivpu2m-XTBqw8kYnDnTJrzBW_gmRnJmcYR3MrFrSGE";
          const range = "Bahrain!A:Z";
         
          getPublicValues({ spreadsheetId, range }, displayResult);
        }

        window.addEventListener("load", (e) => {
          initOAuthClient({ apiKey: API_KEY });
        });

        document.addEventListener("gapi-loaded", (e) => {
          loadData();
        });
         
      }
    }
  </script>
</html>
<html lang="de">
</html>


Ich hoffe auf Euere Hilfe für Dummies.

Vielen lieben Dank schon mal im Voraus.

Drucke diesen Beitrag

  Homepage Kalender
Geschrieben von: Pascal13katze - 27.03.2022, 12:22 - Forum: Javascript - Antworten (1)

Hallo zusammen,

ich lege gerade einen Buchungskalender für ein Vereinshaus auf unserer Homepage an. Um Zeiten buchen zu können, kann man im Kalender den Tag auswählen, eine Startzeit und eine Dauer z.B. 2 Stunden. Bei Buchungen von ganzen Tagen muss man als Startzeit 0:00 auswählen und Dauer 24:00 Stunden. Dann wird der Tag auch als komplett gebucht angezeigt. 

Jetzt soll es aber auch die Möglichkeit geben, mehrere Tage zu buchen z.B. 3 Tage. Die Buchung funktioniert auch grds. aber im Kalender wird der erste und der dritte Tag immer nur als teileweise gebucht angezeigt. Der mittlere Tag wird zutreffenderweise als komplett gebucht angezeigt. Die Dauer habe ich in diesem Fall mit 72 Stunden hinterlegt. Ich vermute, das in diesen Fällen für den ersten Tag keine Endzeit und für den dritten Tag keine Startzeit erkannt wird und deshalb das oben beschriebene Ergebnis rauskommt. Angezeigt werden soll aber eine komplette Buchung über drei Tage. Was kann man tun?
Hier die bisherige vorgehen:

[calendar]
<div class="times-form">
<p>
Startzeit: <br />
[select starttime "0:00@@0:00" "8:00@@8:00" "9:00@@9:00" "10:00@@10:00""11:00@@11:00" "12:00@@12:00""13:00@@13:00" "14:00@@14:00" "15:00@@15:00" "16:00@@16:00" "17:00@@17:00" "18:00@@18:00" "19:00@@19:00" "20:00@@20:00"]</p>


    <p>Dauer:<br />[select durationtime "24 Stunden@@23:59" "12 Stunden@@12:00" "2 Stunden@@02:00" "3 Stunden@@03:00" "2 Tage@@48:00" "3 Tage@@72:00" "4 Tage@@96:00" "5Tage@@120:00" "6 Tage@@144:00" "7 Tage @@168:00" ]</p>

    <p>Vorname*:<br />[text* name]</p>
    <p>Nachname*:<br />[text* secondname]</p>
    <p>Email*:<br />[email* email]</p>
    <p>Telefon*:<br />[text* phone]</p>
    <p>Anliegen*:<br />[textarea details]</p>
    <p>Sicherheitsabfrage*:<br />[captcha]</p>
    <p>[submit class:btn "Senden"]</p>
</div>
<div class="wpbc_booking_form_footer"></div>

Hilfe wäre super, bevor ich total verzweifle. Danke vorab!

Drucke diesen Beitrag