62 lines
1.6 KiB
HTML
62 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
#rows input {
|
|
display: block;
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
#question {
|
|
margin-bottom: 2em;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div>
|
|
Question:
|
|
<input id="question" type="text" name="question">
|
|
</div>
|
|
<div id="rows">
|
|
<input type="text" name="choice" />
|
|
<input type="text" name="choice" />
|
|
<input type="text" name="choice" />
|
|
</div>
|
|
<button type="button" onclick="poll()">Ok</button>
|
|
<button type="button" onclick="more()">+</button>
|
|
<button type="button" onclick="less()">-</button>
|
|
|
|
|
|
</body>
|
|
<script>
|
|
const rows = document.getElementById("rows");
|
|
const question = document.getElementById("question");
|
|
|
|
function more() {
|
|
const row = document.createElement('input');
|
|
row.setAttribute("type", "text");
|
|
row.setAttribute("name", "choice");
|
|
rows.appendChild(row);
|
|
}
|
|
function less() {
|
|
rows.removeChild(rows.lastChild);
|
|
}
|
|
function poll() {
|
|
|
|
body = JSON.stringify({
|
|
question: question.value,
|
|
choices: [...rows.children].map((i) => i.value)
|
|
});
|
|
console.log(body);
|
|
|
|
fetch('/choices', {
|
|
method: 'POST',
|
|
headers: {'Content-Type': 'application/json'},
|
|
body: body
|
|
}).then(() => {
|
|
window.location = '/#abstain'
|
|
});
|
|
}
|
|
</script>
|
|
</html> |