Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>WordPress Fragebogen Plugin

WordPress Fragebogen Plugin

wpdogs16.11.1712:56
Hallo, ich bin noch sehr neu in der Webentwicklung und hoffe hier ein paar Antworten auf meine Fragen zu finden:
Außerdem hoffe ich hier auch in der richtigen Rubrik zu sein, sie schien mir am passensten.

Ich würde gerne ein Plugin für WordPress (Theme: twentyseventeen) schreiben, das anhand von Ja/Nein Antworten ein Rückgabewert liefern kann.

Das heißt: Man hat 2 bis 3 Kategorien, in denen jeweils Fragen gestellt werden, die man eben mit Ja oder Nein beantworten kann. Die Kategorie mit den meisten JA antworten soll dem Benutzer ausgegeben werden, gibt es zwei kategorien mit gleich viel Antworten, sollen beide Kategorien ausgegeben werden.

Meine Fragen: Wie gehe ich am besten vor? Reicht html, css und JavaScript? Mein Plan wäre folgender:

HTML:
<p>Frage .... <br>
<label for="Frage1">Ja</label>
<input type="radio" name="ja" value="ja" id="ja">
<label for="frage1">Nein</label>
<input type="radio" name="nein" value="nein" id="nein">
<p>

Dabei ergeben sich zwei Probleme:

  • id und value müssen ja einzigartig sein, das heißt ich kann das nicht so für jede Frage Verwenden
  • Man kann nur jeweils ein Kästchen auf der gesamten Seite ankreuzen

Für den JavaScript Teil dachte ich folgende vorgehensweise:

3 Variablen zu erstellen: a / b / c

Für jede antwort der Kategorie 1 mit Ja, addiere +1 zu variable a
Für jede antwort der Kategorie 2 mit Ja, addiere +1 zu variable b
Für jede antwort der Kategorie 3 mit Ja, addiere +1 zu variable c

Im Anschluss würde ich prüfen, welche Variable größere ist, und sie mithilfe von if/else ausgeben.

Klingt das logisch oder denke ich zu einfach?
0

Kommentare

michimaier16.11.1713:08
Man kann nur jeweils ein Kästchen auf der gesamten Seite ankreuzen
Der Grund hier ist dass du einen Radio Button nimmst - type="radio"
du musst hier eine checkbox nehmen.
id und value müssen ja einzigartig sein, das heißt ich kann das nicht so für jede Frage Verwenden
ja_1 / ja_2 / ja_3
nein_1 / nein_2 / nein_3

sind aber nur so ideen (du kannst die Variablen natürlich auch gerne anders nennen )
+1
Exx316.11.1713:21
michimaier
du musst hier eine checkbox nehmen.

Da wäre ich vorsichtig, denn eine checkobx lässt Mehrfachauswahlen zu. Du kannst bei einer Frage also Ja und Nein gleichzeitig auswählen. Der Schlüssel ist, den Radiobuttons unterschiedliche Namen zu geben, also beispielsweise:

<input type="radio" name="gender" value="male">

<input type="radio" name="gender" value="female">

<input type="radio" name="question_1" value="yes">

<input type="radio" name="question_1" value="no">

Die Values innerhalb eines Input-Namens (also beispielsweise "gender") sollten einzigartig sein, und die Namen der Input-Felder selbst auch.
+1
wpdogs16.11.1713:45
Danke für eure schnellen Antworten, damit habe ich gar nicht gerechnet

Ich verwende jetzt folgenden Code:

<p>
Das ist die 1. Frage? <br>
<label for="Frage1">Ja</label>
<input type="radio" name="question_1" value="yes_1" id="yes_1">
<label for="Frage1">Nein</label>
<input type="radio" name="question_1" value="no_1" id="no_1">

</p>


<p>
Das ist die 2. Frage? <br>

<label for="Frage2">Ja</label>
<input type="radio" name="question_2" value="yes_2" id="yes_2">
<label for="Frage1">Nein</label>
<input type="radio" name="question_2" value="no_2" id="no_2">
</p>

was wäre jetzt die richtige Vorgehenseweise zum Überprüfen mit JavaScript? getElementbyId?
0
Exx316.11.1713:58
Um die Ergebnisse in einer Datenbank o.ä. zu persistieren, wirst du früher oder später nicht um PHP rumkommen. Durch das Absenden eines Formulars wird ein sogenannter POST-Request abgesendet, den du PHP-seitig am Server abfangen und auf die Inhalte des Formulars zugreifen kannst. Willst du dein Script rein Frontendseitig betreiben (keine wirkliche Speicherung der Inhalte möglich), kannst du mit JavaScript weitermachen. Dann empfiehlt sich dieser Beitrag auf StackOverflow:
0
wpdogs16.11.1714:12
Eine wirkliche Speicherung der Inhalte ist nötig, wenn ich das richtig verstehe. Es geht um eine einmalige Ausgabe nach beantworten der Fragen. Danke vielmals für den Beitrag, den versuch ich gleich mal umzusetzen.

Ich denke PHP wird sowieso ein Thema bezüglich des Plugins oder? Oder kann ich das auch anders als Plugin für eine Seite verwenden?
0
wpdogs16.11.1719:16
Sorry wegen dem Doppel-Post, nur ein kurzes Update:

Erstmal habe ich den Code jetzt soweit:
HTML
<th>Frage</th>
<th>Antwort</th>
</tr>
<tr>
<td><p>Frage1</p></td>
<td><label for="frage1">Ja</label>
<input type="radio" name="question_1" value="yes_1" id="yes_1" onclick="ja();">
<label for="frage1">Nein</label>
<input type="radio" name="question_1" value="no" id="no_1">
<input type="button" name="submit" value="Senden" id="senden"></td>
</tr>

JS
<script>
function ja()
{
antwort = document.querySelector('input[name = "question_1"]:checked').value;
alert("1 Punkt");
}
</script>


So: Jetzt ist die Frage, wie ich den Wert innerhalb einer Variablen am besten speichere (also, statt dem wo jetzt Alert steht). Oder sollte man lieber Arrays dafür benutzen?

Lg.
0
michimaier16.11.1719:45
... vielleicht ein wenig am Thema vorbei, aber vielleicht bist du bei Stackoverflow besser beraten ...
ich will keinem die Chance nehmen, hier ein wenig zu fachsimpeln, aber hättest du die Frage heute vormittag bei Stackoverflow gepostet hättest du wahrscheinlich schon verschiedene Lösungsansätze - einfach weil du eine riesige Gemeinde von Developer hast...
Wie gesagt ich will niemandem den Spass nehmen, aber vermutlich ist der Weg halt schneller...
+1
michimaier16.11.1719:51
...aber vielleicht als Tip...
lies nicht alle Werte einzeln aus, leg die Funktion auf den Submit Button.
Wenn der gedrückt wird liest du die Values der Input Felder aus.
und addierst einfach die Variablen...

Gib nicht auf, die ersten Anfänge waren für uns alle schwer...
0
HumpelDumpel
HumpelDumpel16.11.1719:57
michimaier
Wie gesagt ich will niemandem den Spass nehmen, aber vermutlich ist der Weg halt schneller...
Ich verstehe vor allem nicht, warum wpdogs das Rad neu erfinden will...
Zumal es ja auf php hinauslaufen muss - und das ist nix für Anfänger.
+1

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.