Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 43.569
» Neuestes Mitglied: phonpegirlin
» Foren-Themen: 523
» Foren-Beiträge: 2.130

Komplettstatistiken

Benutzer Online
Momentan sind 93 Benutzer online
» 0 Mitglieder
» 90 Gäste
Bing, Facebook, Google

Aktive Themen
Are there any risks of de...
Forum: Php
Letzter Beitrag: brevyna
Vor 9 Stunden
» Antworten: 0
» Ansichten: 14
On the Move: Discover Con...
Forum: Php
Letzter Beitrag: Floyd335
Gestern, 20:11
» Antworten: 0
» Ansichten: 20
Elevate Your Workspace: D...
Forum: Php
Letzter Beitrag: Eric56
Gestern, 20:05
» Antworten: 0
» Ansichten: 23
Hire the Best Wikipedia W...
Forum: Bootstrap probleme
Letzter Beitrag: releb55973
Gestern, 14:47
» Antworten: 0
» Ansichten: 15
Alert Fenster
Forum: Javascript
Letzter Beitrag: heyhey83
Gestern, 11:27
» Antworten: 12
» Ansichten: 441
What is the effect of Fil...
Forum: Javascript
Letzter Beitrag: Duratiatabs
20.05.2024, 08:44
» Antworten: 0
» Ansichten: 40
Download Free Fire MAX la...
Forum: Spam-Meldungen
Letzter Beitrag: iamrick9211
20.05.2024, 06:05
» Antworten: 0
» Ansichten: 51
The Ultimate Guide to Fin...
Forum: Ankündigungen,Neuigkeiten
Letzter Beitrag: lisamegan
20.05.2024, 05:21
» Antworten: 0
» Ansichten: 44
Let luck be your guide, e...
Forum: CoffeeScript
Letzter Beitrag: jessicadonnelly
19.05.2024, 16:50
» Antworten: 0
» Ansichten: 58
Ajax Abfrage
Forum: Php
Letzter Beitrag: americansoutfit
18.05.2024, 09:45
» Antworten: 4
» Ansichten: 765

  id wird bei übersetzung der Seite nicht ausgegeben
Geschrieben von: Oly - 23.05.2023, 07:50 - Forum: Javascript - Antworten (6)

Hallo zusammen,

bräuchte da mal Infos zum Verständnis denn ich habe keine Erklärung für das Phänomen.

Code:
document.getElementById('Entsorgung').addEventListener('click',function(e){Retourendatenabsenden(e.target.id); return false;});




function Retourendatenabsenden(werhatgeclickt){
console.log(werhatgeclickt);
Zeige mal den Teil-Code um den es geht.  Dem Button mit der ID "Entsorgung" wird ein Click Listener zugefügt. Auf der Seite gibt es ein Wort was auf Englisch ist und daher kommt die Abfrage ob die Seite automatisch auf Deutsch übersetzt werden soll.

Wenn ich keine Übersetzung mache, wird mir die ID in der Funktion ausgegeben.
Lasse ich die Seite übersetzen, ist die Ausgabe der ID leer.
Womit hängt das zusammen? Die ID ändert sich für den Button nicht.

Hat jemand eine Erklärung dafür?

Gruß

Drucke diesen Beitrag

  Hilfe für d3.zoom (Pan und Zoom-Funktion) benötigt
Geschrieben von: Cowboy - 23.05.2023, 07:25 - Forum: Javascript - Keine Antworten

Hallo Zusammen,

ich bin absolut neu im Thema Javascript. Ich versuche nun schon seit geraumer Zeit die d3.Zoom Funktion zum funktionieren zu bekommen.

Ich habe mir eine html-datei gebastelt welche mir in der linken Spalte (BG-Übersicht) eine JSON-Tabelle einliest. Rechts daneben gibt es ein SVG-Vorschaufenster und darunter eine Teileliste, welche ebenfalls per JSON gefüttert wird. Wenn ich nun in der BG-Übersicht (links) eine Zeile anklicke, so wird die SVG-Datei rechts daneben ins Vorschaufenster geladen. 
Wenn ich nun in der teileliste unter der SVG-Vorschau eine Zeile anklicke, so wird die entsprechende Artikel-Nr. in der SVG-Vorschau mit einem roten Rahmen versehen.
Über der SVG-Vorschau gibt es noch drei Buttons für Zoom-Funktionen.

So weit so gut. Dass alles funktioniert. Auch die Zoom-Buttons.
Was leider nicht geht ist das Verschieben (Pan) der SVG. 

CSS und Script habe ich noch alles in der html-Datei. Siehe anbei.

Wäre echt dankbar, wenn jemand helfen könnte.

Markus



Angehängte Dateien Thumbnail(s)
       

.html   test4.html (Größe: 11,53 KB / Downloads: 0)
Drucke diesen Beitrag

  fetch und JSON
Geschrieben von: mike2707 - 18.05.2023, 16:08 - Forum: Javascript - Keine Antworten

Hallo Leute,

ich bin der neue und Javascript-Anfänger. Google wußte auch keine Antwort Big Grin

Hier mein Problem.
Fehlermeldung: Uncaught (in promise) SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Wenn ich die Datei direkt anspreche mit fetch("daten.json") funktioniert der Code. Wenn ich über das HTML-Formular gehe und diese Datei auswähle funktioniert es nicht.

Wo ist der Fehler?
Ich denke es hat was mit der Übertragung der Datei via Browser zu tun!?

Code:
<form><input type="file" id="myFile" onchange="jsonDaten()"></form>

Code:
function jsonDaten() {
    let file = document.getElementById("myFile").files[0];
  



    let optionAbsenderName = "";
    let optionEmpfaengerName = "";

    //fetch("daten.json")
    fetch(file)
   

        .then((response) => { return response.json();})
       



        .then((users) => {
            // Absender   
            users.absender.forEach((user) => {
                optionAbsenderName += `<option> ${user.name} </option>`;  // Name des Absenders
                document.getElementById("absender-id").innerHTML = optionAbsenderName;
               

                const ausgewahlterAbsender = document.getElementById('absender-id').selectedOptions[0].value;

                if (ausgewahlterAbsender === user.name) {
                    document.getElementById('absender').innerHTML = user.name + "<br><hr>" + user.strasse + " | " + user.ort;
                }
            })

            // Empfänger
            users.empfaenger.forEach((user) => {

                // Options füllen
                optionEmpfaengerName += `<option> ${user.anzeigename} </option>`;  // Name des Empfängers
                document.getElementById("empfaenger-id").innerHTML = optionEmpfaengerName;

                const ausgewahlterEmpfaenger = document.getElementById('empfaenger-id').selectedOptions[0].value;

                if (ausgewahlterEmpfaenger === user.anzeigename) {
                    if (user.niederlassung) {
                        document.getElementById('empfaenger').innerHTML = `${user.firma} <br> ${user.niederlassung} <br> ${user.abteilung} <br> ${user.ansprechpartner} <br> ${user.strasse} <br> ${user.plz} ${user.ort}`;
                    } else {
                        document.getElementById('empfaenger').innerHTML = `${user.firma} <br> ${user.abteilung} <br> ${user.ansprechpartner} <br> ${user.strasse} <br> ${user.plz} ${user.ort}`;
                    }

                }
            })
        })
}

// Absender
document.getElementById("absender-id").onchange = () => {

    fetch("daten.json")

        .then((response) => { return response.json(); })

        .then((users) => {
            users.absender.forEach((user) => {
                const ausgewahlterAbsender = document.getElementById('absender-id').selectedOptions[0].value;

                if (ausgewahlterAbsender === user.name) {
                    document.getElementById('absender').innerHTML = user.name + "<br><hr>" + user.strasse + " | " + user.ort;
                }
            })
        })
}

// Empängeradressen
document.getElementById("empfaenger-id").onchange = () => {

    fetch("daten.json")

        .then((response) => { return response.json(); })

        .then((users) => {
            users.empfaenger.forEach((user) => {
                const ausgewahlterEmpfaenger = document.getElementById('empfaenger-id').selectedOptions[0].value;

                if (ausgewahlterEmpfaenger === user.anzeigename) {
                    if (user.niederlassung) {
                        document.getElementById('empfaenger').innerHTML = `${user.firma} <br> ${user.niederlassung} <br> ${user.abteilung} <br> ${user.ansprechpartner} <br> ${user.strasse} <br> ${user.plz} ${user.ort}`;
                    } else {
                        document.getElementById('empfaenger').innerHTML = `${user.firma} <br> ${user.abteilung} <br> ${user.ansprechpartner} <br> ${user.strasse} <br> ${user.plz} ${user.ort}`;
                    }
                }
            })
        })
}

document.querySelector(".drucken").addEventListener("click", () => {
    // wenn das Betrefffeld leer, dann wird das Datum ausgeblendet.
    const betreff = document.getElementById("betreff").value;

    if (!betreff) {
        document.getElementById("current_date").style.display = "none";
    }

    window.print();
})

Code:
{"absender" : [   
    {
    "name": "Mustermann",
    "strasse": "Mustermann",
    "ort": "Mustermann"
    }
],

"empfaenger" : [
    {
    "anzeigename": "Mustermann",
    "firma": "Mustermann",
    "abteilung": "Mustermann",
    "ansprechpartner": "Mustermann",
    "strasse": "Mustermann",
    "plz": 11111,
    "ort": "Mustermann"
    }
]}

Gruß
Michael

Drucke diesen Beitrag

  Checkboxes absteigend mit auswählen
Geschrieben von: BastiBln - 17.05.2023, 09:18 - Forum: Javascript - Antworten (4)

Moin,

ich benötige mal Eure Hilfe. Ich generiere mit php eine Liste aus einer DB. Jede Zeile ist aufsteigend durchnummeriert und beinhaltet eine Checkbox. Wenn man eine auswählt, sollen alle Checkboxes darüber, numerisch absteigend, mit ausgewählt werden.

Ich habe schon verschiedenen Sachen ausprobiert, aber es funktioniert nicht...

Hier der Code in verkürzter Form:

PHP-Code:
<table id="mySEARCH" class="shoppinglist-content">
<!-- ******************************************************************************** 
shopping list beginn-->
    <!-- script test start -->
    <?php
        
if(isset($_COOKIE['shoppinglist'])){
            $list $_COOKIE['shoppinglist'];
            $stmt $pdo->prepare("SELECT * FROM `$list`");
            $stmt->execute();
            $x 0;
            foreach($stmt as $item)
            $x++;?>
                <tr id="line<?php echo $x;?>" style="opacity: 1.0;">
                <td class="split-list"><input type="checkbox" id="split-list-<?php echo $x;?>" name="split-list" onchange="markAbove<?php echo $x;?>()" value="<?php echo $x;?>"></td>
                </tr>
                <script>
                    function markAbove<?php echo $x;?>(){
                        var choosedLine = document.querySelectorAll("input[type=checkbox]");
                        for(var i = <?php echo $x;?>; i > choosedLine.value; i--){
                            choosedLine.setAttribute("checked", "");
                        }
                        console.log(i);
                    }
                </script>
            <?php
            
}
        }else {
/******************************************************************************** shopping list end****/
            ?><tr><td></td><td></td><td>Keine Items vorhanden</td><td></td><td></td><td></td><td></td></tr><?php
        
}
    ?>
<!-- script test end -->
</table> 

[Bild: 20230517083630e6a7bebe3a62dd464dc6b4c6693d74bc.png]

Hat mir wer einen Tipp wie das funktionieren kann? Vielen Dank!

Drucke diesen Beitrag

  js Code Konsolidierung
Geschrieben von: BastiBln - 17.05.2023, 08:54 - Forum: Php - Antworten (4)

Moin,

ich brauch mal Euren Rat. Ich generiere mit php eine Liste aus einer DB. In jeder Zeile sind js-Funktionen eingebettet. Wie Ihr im Code sehen könnt, muss ich die Funktionen und Variablen interieren damit sie je Zeile funktionieren.

Es funktioniert alles, aber geht das auch irgendwie hübscher? Das ich die Funktionen nur 1x unter der Schleife aufführe und es trotzdem je Zeile mit den richtigen Variablenwerten funktioniert?

Vielen Dank!


PHP-Code:
<table id="mySEARCH" class="shoppinglist-content">
<!-- ************************************************************************ 
shopping list beginn-->
<!-- 
script test start -->
<?
php
if(isset($_COOKIE['shoppinglist'])){
  $list $_COOKIE['shoppinglist'];
  $stmt $pdo->prepare("SELECT * FROM `$list`");
  $stmt->execute();
  $x 0;
  foreach($stmt as $item)
  $x++;?>
    <tr id="line<?php echo $x;?>" style="opacity: 1.0;">
    <td><button id="activ<?php echo $x;?>" class="btn-hide-row" name='activ' onclick="hiddenLine<?php    echo $x;?>();" value="true"><img class="list-icon" id="visibility<?php echo $x;?>" src="images/icon-invisible.png" /></button></td>
     <form action='calculate.php' method='post'>
     <td class="pcs-unit-list"><?php echo $item['pieces']." ".$item['unit']?></td>
     <td name='item' class="shop-list-item" id="item"><?php echo $item['item']?></td>
     <td class="brand-list"><input type='text' id="brand<?php echo $x;?>" class="brand-list" name='brand' value="<?php echo $item['brand']?>" onkeyup="editSave<?php echo $x;?>(), success()"></td>
     <td class="kind-list"><select class="shoppinglist-kind" name='item-kind' id="item-kind<?php echo $x;?>" onchange="editSave<?php echo $x;?>(), success()">
       <option value=""></option>
       <option value="Gemüse" <?php if($item['kind'] == "Gemüse") echo "selected"?>>Gemüse</option>
       <option value="Obst" <?php if($item['kind'] == "Obst") echo "selected"?>>Obst</option>
       <option value="Fleisch" <?php if($item['kind'] == "Fleisch") echo "selected"?>>Fleisch</option>
       <option value="Fisch" <?php if($item['kind'] == "Fisch") echo "selected"?>>Fisch</option>
       <option value="Getreideprod." <?php if($item['kind'] == "Getreideprod.") echo "selected"?>>Getreideprod.</option>
       <option value="Milchprod." <?php if($item['kind'] == "Milchprod.") echo "selected"?>>Milchprod.</option>
       <option value="Gewürze" <?php if($item['kind'] == "Gewürze") echo "selected"?>>Gewürze</option>
       <option value="Knabbern" <?php if($item['kind'] == "Knabbern") echo "selected"?>>Knabbern</option>
       <option value="Getränke" <?php if($item['kind'] == "Getränke") echo "selected"?>>Getränke</option>
       <option value="Kräuter" <?php if($item['kind'] == "Kräuter") echo "selected"?>>Kräuter</option>
       <option value='Hygiene' <?php if($item['kind'] == "Hygiene") echo "selected"?>>Hygiene</option>
       <option value='Putzen' <?php if($item['kind'] == "Putzen") echo "selected"?>>Putzen</option>
       <option value='Haustier' <?php if($item['kind'] == "Haustier") echo "selected"?>>Haustiere</option>
       <option value='Sonstiges' <?php if($item['kind'] == "Sonstiges") echo "selected"?>>Sonstiges</option>
      </select></td>
      <td class="list-button"><button class='btn-list' name='delete' id="btn-locked-<?php echo $x;?>" value="<?php echo $item['id']?>"><img src='images/trashbox.png'></button></td></form></tr>
      <script>
       function editSave<?php echo $x;?>(){
         var id = <?php echo $item['id']?>;
         var brand = $("#brand<?php echo $x;?>").val();
         var itemKind = $("#item-kind<?php echo $x;?>").val();
         $.post("calculate.php", { save: id, brand: brand, itemkind: itemKind },
         function(data) {
           $('#edit-confirm').html(data);
         });
         }
                                function hiddenLine<?php echo $x;?>() {
                                    var line = document.getElementById("line<?php echo $x;?>");
                                    var activ = document.getElementById("activ<?php echo $x;?>");
                                    var brand = document.getElementById("brand<?php echo $x;?>");
                                    var itemKind = document.getElementById("item-kind<?php echo $x;?>");
                                    var btnLocked = document.getElementById("btn-locked-<?php echo $x;?>");
                                    var btnImage = document.getElementById("visibility<?php echo $x;?>");
                                    if(activ.value == "true"){
                                        activ.value = "false";
                                    }else{
                                        activ.value = "true";
                                    }
                                    if(activ.value == "false"){
                                        line.style.opacity = "0.1";
                                        brand.setAttribute("readonly", "");
                                        itemKind.setAttribute("disabled", "");
                                        btnLocked.setAttribute("disabled", "");
                                        btnImage.setAttribute("src", "images/icon-visible.png");
                                        //createCookie('hide-line-<?php echo $x;?>','false');
                                    }
                                    if(activ.value == "true") {
                                        line.style.opacity = "1.0";
                                        brand.removeAttribute("readonly", "");
                                        itemKind.removeAttribute("disabled", "");
                                        btnLocked.removeAttribute("disabled", "");
                                        btnImage.setAttribute("src", "images/icon-invisible.png");
                                        //createCookie('hide-line-<?php echo $x;?>','true');
                                    }
                                }
                            </script>
                        <?php
                        
}
                    }else {
                                                /******************************************************************************** shopping list end****/
                        ?><tr><td></td><td></td><td>Keine Items vorhanden</td><td></td><td></td><td></td><td></td></tr><?php
                    
}
                ?>
            <!-- script test end -->
            </table> 

Drucke diesen Beitrag

  Service-Worker feuert nicht immer
Geschrieben von: Oly - 14.05.2023, 17:43 - Forum: Hilfe bei Add-ons programmieren - Antworten (10)

Hallo zusammen,

habe ein kleines Problem und finde keine Lösung. Sobald mein Service-Worker inaktiv ist, geht nix mehr. Habe ein Kontent-Menu und es läuft alles gut, bis der Service-Worker einmal inaktiv ist.
Was kann ich tun, damit er vorher aktiviert wird und meine Funktionen dann ihre Funktion aufnehmen? Hat jemand einen Tipp für mich?

Code:
function updateContextMenus(){
    chrome.contextMenus.removeAll(function(){
        chrome.storage.sync.get(function(storage){
            if(storage['items']==undefined) storage['items'] = {};
            var items = storage['items'];
            for(key in items){
                chrome.contextMenus.create({'title': items[key]['item-title'],  "contexts": ['editable'], 'id': key }, function (){});
            }
        });
    });
}

chrome.action.onClicked.addListener(function (tab){
    if(tab.url=="https://de.zir-online.com/start"){
    
    chrome.runtime.openOptionsPage();
}
});


var TABID;

chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
console.log("Status: "+changeInfo.status)
console.log("ID: "+tabId)
    if(changeInfo.status==='complete'||changeInfo.status==='loading') TABID=tabId;

    
});



chrome.contextMenus.onClicked.addListener(function (info){
    chrome.storage.sync.get(function(storage){
        // get text to paste from storage
        //console.log(storage['items']);
        if(storage['items']==undefined) return;
        var items = storage['items'];
        var key = info['menuItemId'];
         var  text = items[key]['item-content'];
        
        console.log("Background: items: "+items+" key: "+key+" text: "+text+ "ID: "+TABID);
            chrome.tabs.sendMessage(TABID, {
                message: text
            });
            
        
        
    });
});

chrome.storage.onChanged.addListener(function(changes, areaName){
    if(areaName == 'sync'){
        updateContextMenus();
    }
});

updateContextMenus();

Drucke diesen Beitrag

  EventListener entfernen
Geschrieben von: Oly - 12.05.2023, 11:55 - Forum: Javascript - Antworten (2)

Hallo zusammen,

erstelle mir mit

Code:
window.addEventListener("focus", () => { erstellteRetoure_löschen();  });
einen Listener.

was müsste ich in der Function erstellteRetoure_löschen() schreiben damit der Listener wieder gelöscht wird?
finde kein passendes Bsp. dafür

Drucke diesen Beitrag

  Callback auswerten
Geschrieben von: Oly - 12.05.2023, 10:47 - Forum: Javascript - Antworten (6)

Hallo zusammen,

ich sende eine Nachricht per sendMessage und möchte gerne das Callback auswerten und weiss gerade nicht wie Sad


Code:
const callback= chrome.runtime.sendMessage({type: "ETRetouredrucken"});
                                                                                        console.log(callback);

in der Console wird mir folgendes angezeigt



[Bild: konsole.png]



wie lese ich den Wert des Callbacks aus?

danke jetzt schonmal für die Hilfe

Drucke diesen Beitrag

  Copy 2 Clipboard mit Feedback
Geschrieben von: DSCA - 11.05.2023, 11:20 - Forum: Javascript - Antworten (1)

Hallo,

ich hab nur was kleines - aber ich komme mit meinen rudimentären JS-Kenntnissen leider nicht weiter Blush

Ich möchte gern einen definierten Text in die Zwischenablage nehmen und dem Klicker ein Feedback geben, dass die Zeile nun in der Zwischenablage ist.
Am einfachsten wäre das mit einem kleinem "✓" welcher im Buttontext am Ende mit angezeigt werden sollte, allerdings nur für 1-3 sekunden...
jedoch kann ich bei der Funktion nicht mit "this.innerText" in Verbindung mit einer setTimeout Funktion arbeiten...

Code:
setTimeout("this.innerText = 'Copy ✓'", 3000);
Code:
<script>
function copy2Clipboard(str) {
ta = document.createElement('textarea');
ta.value = str;
document.body.appendChild(ta);
ta.select();
document.execCommand('copy');
document.body.removeChild(ta);

};
</script>

<button onclick="copyStringToClipboard('Lorem ipsum dolor sit amet')">Copy</button>

Drucke diesen Beitrag

  Globale Variable
Geschrieben von: Oly - 06.05.2023, 21:04 - Forum: Javascript - Antworten (9)

Hallo zusammen,

ich bin gerade am verzweifeln und finde keine Lösung.

Code:
let y=0;
var x=0;


function letztesY(Test){
    console.log("test: "+Test)
x=Test;

}


chrome.storage.local.get(null,  function(result)
{
    let anzahl=-1;
  
        //alle Keys mit "ETRetouren" anzeigen
        for (allKeys in result){
                                    if(allKeys.indexOf("ETRetoure")!=-1) { console.log(allKeys);
                                          
                                        chrome.storage.local.get(allKeys,  function(result){console.log(result);

                                            const myJSON = JSON.stringify(result);
                                 
                                        console.log(myJSON);
                                    let ZirETAuftrag=myJSON.substring(11,22);
                                 
                                    let Artikel=myJSON.substring(22,myJSON.indexOf(":")-1);
                               
                                    let Beschreibung=myJSON.substring(myJSON.indexOf(":")+2,myJSON.indexOf("||"));
                                                             
                                    let Menge=myJSON.substring(myJSON.indexOf("||")+2,myJSON.lastIndexOf('"'));

                                    document.querySelector("#Artikelauflistung").innerHTML+=`<tspan x="10" y="`+y+`">`+Menge+`</tspan>
                                   
                                                                                             <tspan x="43" Y="`+y+`">`+ZirETAuftrag+`</tspan>
                                                                                             <tspan x="123" y="`+y+`">`+Artikel+`</tspan>
                                                                                             <tspan x="203" y="`+y+`">`+Beschreibung+`</tspan>`;    
                                                                                             console.log(y);
                                                                                           
letztesY(y);
                                                                                             y+=20;                                                                                            
                                   
                                                                                            });
                                                                                          
                                                                           };
                                                                         
                                };
                            
                               }
                            // document.querySelector("#Artikelauflistung").innerHTML+=`<tspan X="10" y="`+(y=+60)+`">Datum"</tspan>
                            //                                                          <tspan x="150" y="`+(y=+60)+`">Mitarbeiter</tspan>`
                          
                            )


console.log(x);

ich möchte gerne den y Wert global bekommen und bekomme es nicht hin.
In oder aus der Function letztesY wird im log die richtigen werte angezeigt, doch im letzten bleibt die x Variable auf "0" wenn ich sie ganz untem im Code ausgeben möchte.
Wo ist der Fehler? Ich sehe es nicht

Gruß

Drucke diesen Beitrag