Where people come together to learn, code, and play. Custom-built HTTP server, site generator, and website from scratch using no external libraries. Goal is to be as minimalistic and fun as possible.
http://projectdivar.com
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
3.4 KiB
65 lines
3.4 KiB
<hr/>
|
|
<script type="text/javascript">
|
|
function changeColor() {
|
|
document.getElementById("submit").style.borderColor=document.getElementById("msg").style.borderColor=document.getElementById("name").style.borderColor=document.getElementById("col").style.borderColor=document.getElementById("col").options[document.getElementById("col").selectedIndex].text
|
|
}
|
|
function submit() {
|
|
document.getElementById("submit").disabled=
|
|
document.getElementById("name").disabled=
|
|
document.getElementById("col").disabled=
|
|
document.getElementById("msg").disabled=true;
|
|
fetch("/COMMENTS?submit=true&article=$ARTICLE.comment&message="+encodeURIComponent(document.getElementById("msg").value)+"&name="
|
|
+encodeURIComponent(document.getElementById("name").value)+"&color="
|
|
+encodeURIComponent(document.getElementById("col").options[document.getElementById("col").selectedIndex].text)
|
|
).then((data)=>data.text())
|
|
.then((data)=>{
|
|
document.getElementById("msg").value=""
|
|
document.getElementById("name").value=""
|
|
document.getElementById("submit").disabled=
|
|
document.getElementById("name").disabled=
|
|
document.getElementById("col").disabled=
|
|
document.getElementById("msg").disabled=false;
|
|
fetchComments()
|
|
})
|
|
}
|
|
</script>
|
|
<div id="commentForm">
|
|
<b>Leave a comment!</b><br/><br/>
|
|
<label for="name">Display Name: </label><input id="name"><br/><br/>
|
|
<label for="col">Display Color: </label><select id="col" onchange="changeColor()">
|
|
<option value="RED">RED</option>
|
|
<option value="GREEN" selected>GREEN</option>
|
|
<option value="YELLOW">YELLOW</option>
|
|
<option value="BLUE">BLUE</option>
|
|
<option value="MAGENTA">MAGENTA</option>
|
|
<option value="CYAN">CYAN</option>
|
|
<option value="WHITE">WHITE</option>
|
|
</select><br/><br/>
|
|
<label for="msg" style="vertical-align:top;display:inline;">Message: </label><textarea id="msg"></textarea><br/><br/>
|
|
<button id="submit" onclick="submit()">POST</button>
|
|
</div><br/><br/>
|
|
<div id="commentContainer" style="visibility:hidden;">
|
|
<h2>Comments <sub>(<span class="commentCounter" id="commentCounter">0</span>)</sub></h2>
|
|
<div class="comments" id="comments"></div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
function fetchComments() {
|
|
fetch("/COMMENTS?article=$ARTICLE.comment").then((data)=>data.text())
|
|
.then((data)=>{
|
|
data=data.split("\n");
|
|
document.getElementById("comments").innerHTML="";
|
|
document.getElementById("commentCounter").innerText=data[0]
|
|
for (var i=data.length-3;i>=1;i-=2) {
|
|
if (data[i].trim().length>0&&data[i+1].trim().length>0) {
|
|
document.getElementById("comments").innerHTML+="<div id=\"msg"+((i+1)/2)+"\" class=\"commentDisplayer\"><div class=\"commentData\">"+decodeURIComponent(data[i])+"</div><br>"
|
|
data2=data[i+1].split(";");
|
|
document.getElementById("msg"+((i+1)/2)).style.borderColor=data2[1]
|
|
document.getElementById("comments").innerHTML+="<div class=\"commentInfo\"><sup>- "+decodeURIComponent(data2[0])+"</sup></div></div><br>"
|
|
}
|
|
}
|
|
document.getElementById("commentContainer").style.visibility="visible"
|
|
})
|
|
}
|
|
fetchComments()
|
|
changeColor()
|
|
</script> |