JavaScript – die neusten Beiträge

Wie kann ich bei einer richtiger Antwort einen Text anzeigen lassen und bei einer falscher Antwort einen anderen?

 Ich möchte auf meiner Webseite ein kleines Multiple-choice-Quiz machen.

Hier möchte ich, dass, wenn man das Richtige auswählt und auf Lösung klickt, eine Nachricht erscheint, dass dies die richtige Lösung ist. Bei einer falschen dann halt, dass es die falsche Antwort ist.

Ich könnte hier nach action="/Tests/Posts" eine andere Webseite öffnen lassen. Aber dann würde sich ja bei der falschen Antwort und bei der richtigen Antwort das gleiche Fenster öffnen.

<form method="post" action="/Tests/Post">
  <fieldset>
    <legend>Bei Längswellen erfolgt die Schwingung ... Ausbreitungsrichtung.</legend>
    <input type="checkbox" name="schwingung" value="in" onclick="return ValidatePetSelection();">... in ...<br>
    <input type="checkbox" name="schwingung" value="querZur" onclick="return ValidatePetSelection();">... quer zur ...<br>
    <input type="checkbox" name="schwingung" value="Birds" onclick="return ValidatePetSelection();">... gegen ...<br>
    <br>
    <input type="submit" value="Lösung">
  </fieldset>
</form>
<script type="text/javascript">
  function ValidatePetSelection() {
    var checkboxes = document.getElementsByName("schwingung");
    var numberOfCheckedItems = 0;

    for (var i = 0; i < checkboxes.length; i++) {
      if (checkboxes[i].checked)
        numberOfCheckedItems++;
    }

    if (numberOfCheckedItems > 1) {
      alert("Es ist genau eine Antwort richtig.");
      return false;
    }
  }
</script>
Bild zum Beitrag
Computer, Schule, HTML, CSS, JavaScript, Script, checkbox, Multiple Choice

Hilfe bei Manifest?

Computer, IT, programmieren, JavaScript, Manifest, JSON

HTML Formular Input in SQLite Datenbank speichern, (mit NodeJS) wie?

Hallo. Ich möchte den Input eines HTML-Formulars mit Hilfe von Node in eine SQLite Datenbank einfügen.

Mein index.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello world!</title>
    <script src="sqlite.js"></script>
</head>
<body>

    <form action="/team_name_url/" method="post">
        <label for="team_name">Enter name: </label>
        <input id="team_name" type="text" name="name_field" value="Default name for team.">
        <input type="submit" value="OK">
    </form>

</body>
</html>

Mein sqlite.js:

const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./sqlite.db');

let express = require('express');
let app = express();
const bodyParser= require('body-parser');


app.use(bodyParser.urlencoded({extended:true}));

app.post('/',(req,res)=>{
let placeName = req.body.PlaceName; 
});


db.run(`INSERT INTO places (id, name, coords) VALUES(4, ${placeName}, '1234, 5678');`, function(err) {
    if (err) {
        return console.log(err.message);
    }

    console.log(`A row has been inserted with rowid ${this.lastID}`);


});

db.close();
SQL, HTML, programmieren, JavaScript, Datenbank, SQLite, node.js, node

Programmieren: Ist es sinnvoll Teilaufgaben in Funktion zu unterteilen?

Hallo,

wenn ich z.B. eine große Funktion habe (hier die main) und dort Teilaufgaben wie z.B. irgendwas komplex zu sortieren in weitere Funktionen unterteile (sort funktion) die aber wirklich nur 1x aufgerufen werden, stellt sich mir die Frage, ob das sinnvoll ist, oder bad practice.

Ich tue das ganze nur aus dem Grund, um den Funktionsablauf übersichtlich zu halten. Letztendlich geht es um die Frage, wie "teuer" (inperformant) ein Funktionsaufruf ist.

Hier BEISPIELCODE kein Sinn dahinter, nur zur Verdeutlichung:

function sort(image, arr) { // Subfunktion
  const min = min_val;
  const max = max_val;
  for (let i = 0; i < arr.length; i++) {
    for (let k = 0; k <= arr[0].length; k++) {
      if (arr[i][k] < min) arr[i][k] = min;
      if (arr[i][k] > max) arr[i][k] = max;
    }
  }
  for (let i = 0; i < image.length; i++) {
    for (let k = 0; k < image[0].length; k++) {
      image[i][k] = arr[parseInt(image[i][k])];
    }
  }
  return image;
}

function main() {
  const array = new Uint8Array(20);
  crypto.getRandomValues(array);
  const arrayEncoded =  btoa(String.fromCharCode(...array)).split('');
  const arrayFiltered = arrayEncoded.filter(value => {
    switch (value){
    case "+" :
        return false;
    case "/" :
        return false;
    case "=" :
        return false;
    default :
      return true;
    }
  });
  const sortedArray = sort(arrayFiltered, arrayEncoded) // Hier wird unterfunktion aufgerufen
  var arr = new Uint8Array((sortedArray || 40) / 2)
  window.crypto.getRandomValues(arr)
  return Array.from(arr, dec2hex).join('')
}  

Versucht nicht, den Code zu verstehen, es sind einfach nur zusammengewürfelte Zeilen von irgendwo.

programmieren, JavaScript, Informatik

Wie kann ich eine zufällige Weiterleitung auf andere Website vom Cookie-Fenster aus realisieren?

Hallo,

ich wollte bei meiner Website von einem Cookie-Fenster auf eine zufällige Website weiterleiten. Man klickt also auf "Ablehnen" und wird zu einer der von mir angegebenen Websites geleitet. Ich kenne mich mit JavaScript und HTML nicht gut genug aus, um etwas wie das zu machen.

Hier ist das Cookie-Fenster bis jetzt:

<style>
  #mbmcookie {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #D8D8D8;
    padding: 20px;
    font-size: 14px;
    font-family: verdana;
  }

  #mbmcookie a.button {
    cursor: pointer;
    background: #A4A4A4;
    padding: 8px 20px;
    margin-left: 10px;
    border-radius: 5px;
    font-weight: bold;
    float: right;
  }

  #mbmcookie a.button:hover {
    background-color: #aaa;
  }

  #mbmcookie p.cookiemessage {
    display: block;
    padding: 0;
    margin: 0;
  }
</style>
<div id="mbmcookie">
  <a onClick="var d = new Date(); d = new Date(d.getTime() +1000*60*60*24*730);var w = false; w = false; document.cookie = 'mbmcookie=1; expires='+ d.toGMTString() + ';'; document.getElementById('mbmcookie').style.display = 'none';" class="button">Akzeptieren</a>
  <a href="https://www.google.com"onClick="var d = new Date(); d = new Date(d.getTime() +1000*60*60*24*730);var w = true; w = true; document.cookie = 'mbmcookie=1; expires='+ d.toGMTString() + ';'; document.getElementById('mbmcookie').style.display = 'none';" class="button">Ablehnen</a>
  <p class="cookiemessage">Diese Website verwendet Cookies..
</div>
<script>
  var r = 0;
  a = document.cookie;

  while (a != '') {
    while (a.substr(0, 1) == ' ') {
      a = a.substr(1, a.length);
    }

    cn = a.substring(0, a.indexOf('='));

    if (a.indexOf(';') != -1) {
      cw = a.substring(a.indexOf('=') + 1, a.indexOf(';'));
    }
    else {
      cw = a.substr(a.indexOf('=') + 1, a.length);
    }

    if (cn == 'mbmcookie') {
      r = cw;
    }

    i = a.indexOf(';') + 1;

    if (i == 0) {
      i = a.length
    }

    a = a.substring(i, a.length);
  }

  if (r == '1')
    document.getElementById('mbmcookie').style.display = 'none';
</script>
Computer, HTML, Webseite, programmieren, JavaScript, Webentwicklung

404 Fehler bei AJAX Request: PHP-Datei wird nicht gefunden?

Folgendes:

Der Code, den ich in dieser Frage gepostet habe, habe ich minimal geändert (das PHP jetzt auch in eine separate Datei gepackt) und jetzt scheint der Button zu reagieren. So weit, so gut. Jetzt habe ich mir gedacht, dass es nützlich sein könnte, Fehler in einem alert auszugeben. Da ich nicht wusste, wie ich das anstelle, habe ich auch danach online gesucht und wurde fündig.

Nun zum eigentlichen Problem:

Mir wird ein 404-Fehler zurückgegeben, obwohl die Datei, die im Request angegeben wurde, existiert.

Ich habe auch dazu bereits im Internet nach Beiträgen gesucht und im weitesten Sinn ähnliche Beiträge gefunden. Aber keiner der Tipps, die ich dort gefunden habe, von denen ich der Meinung war, dass sie vielleicht helfen würde, hat etwas gebracht.

In einem der Kommentare (auf bspw. Stackoverflow) hieß es, man solle sich mit Werkzeugen wie Fiddler die Requests ansehen. Das habe ich gemacht, aber wirklich schlau werde ich daraus auch nicht.

Hier das JavaScript des Buttons:

<script>
  $(document).on('click', '#removeButton', function() {
    $.ajax({
      // type: "GET",
      url: "removeProject.php",
      // data: [id: selectedProjectID],
      success: function() {
        alert("Success");
      },
      error: function(jqXHR, textStatus, errorThrown) {
        alert(jqXHR.status);
        alert(textStatus);
        alert(errorThrown);
      } // error
    }) // ajax
  }); // function
</script>

Hier der Inhalt der removeProject.php-Datei:

<?php
  require_once '../sqlGenerator.php';

  $dbh = new PDO("mysql:dbname=" . $db . ";host=localhost", $user, $pass);
  $query = "SELECT * FROM TABLE_SELECTED_PROJECT";
  $selectedProjectID = mysql_query($query);

  $sql = "DELETE FROM " . TABLE_PROJECT_NAME . " WHERE " . COL_PROJECT_ID . " = " . $selectedProjectID;

  try {
    $statement = $dbh->prepare($sql);
    $statement->execute();
  }
  catch (PDOException $e) {
    exit("Datenbank-Fehler: " . $e->getMessage());
  } // trycatch
?>

Am URL-Pfad kann es nicht liegen, da habe ich bereits alles Mögliche ausprobiert. Die Dateien befinden sich beide im gleichen Ordner.

Was könnte der Grund sein?

Computer, Technik, JavaScript, AJAX, PHP, Technologie

Meistgelesene Beiträge zum Thema JavaScript