blog.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * Sets the comment input fields back to normal.
  3. */
  4. function dissmiss_comment_error(){
  5. document.getElementById('new_comment_text').classList.remove('new_comment_error');
  6. document.getElementById('new_comment_user').classList.remove('new_comment_error');
  7. }
  8. /**
  9. * Validates and posts a comment.
  10. *
  11. * @param post Post id.
  12. * @param lang Infered user language.
  13. * @return true on success, false on error.
  14. */
  15. function postComment(post, lang){
  16. //Get field values
  17. var text = document.getElementById('new_comment_text').value;
  18. var user = document.getElementById('new_comment_user').value;
  19. //Check fields
  20. if (text.length == 0){
  21. document.getElementById('new_comment_text').classList.add('new_comment_error');
  22. document.getElementById('new_comment_text').focus();
  23. return false;
  24. }
  25. if (user.length == 0){
  26. document.getElementById('new_comment_user').classList.add('new_comment_error');
  27. document.getElementById('new_comment_user').focus();
  28. return false;
  29. }
  30. //Load page
  31. var x = new XMLHttpRequest();
  32. // TODO: API url
  33. x.open('POST', '/blog/comment.php', true);
  34. var params = 'from=web&post=' + post + '&user=' + user + '&text=' + text + '&lang=' + lang;
  35. x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
  36. x.onreadystatechange = function(){
  37. if(x.readyState == 4){
  38. if(x.status == 200){
  39. document.getElementById('comment_list').innerHTML = x.responseText;
  40. document.getElementById('new_comment_text').value = '';
  41. document.getElementById('new_comment_user').value = '';
  42. }
  43. }
  44. }
  45. x.send(params);
  46. return false;
  47. }