try clearing reply box on success
This commit is contained in:
parent
06ff6554d4
commit
187eef590d
@ -68,6 +68,7 @@ function DynReply(existingElem) {
|
|||||||
elem = document.createElement("input");
|
elem = document.createElement("input");
|
||||||
elem.setAttribute("name", "name");
|
elem.setAttribute("name", "name");
|
||||||
elem.setAttribute("value", "Anonymous");
|
elem.setAttribute("value", "Anonymous");
|
||||||
|
elem.setAttribute("id", "postform_name");
|
||||||
var err_elem = document.createElement("span");
|
var err_elem = document.createElement("span");
|
||||||
err_elem.setAttribute("id", "postform_msg");
|
err_elem.setAttribute("id", "postform_msg");
|
||||||
this._error = err_elem;
|
this._error = err_elem;
|
||||||
@ -77,6 +78,7 @@ function DynReply(existingElem) {
|
|||||||
elem = document.createElement("input");
|
elem = document.createElement("input");
|
||||||
elem.setAttribute("name", "subject");
|
elem.setAttribute("name", "subject");
|
||||||
elem.setAttribute("value", "");
|
elem.setAttribute("value", "");
|
||||||
|
elem.setAttribute("id", "postform_subject");
|
||||||
// submit
|
// submit
|
||||||
var submit = document.createElement("input");
|
var submit = document.createElement("input");
|
||||||
submit.setAttribute("value", "reply");
|
submit.setAttribute("value", "reply");
|
||||||
@ -119,6 +121,7 @@ function DynReply(existingElem) {
|
|||||||
elem = document.createElement("input");
|
elem = document.createElement("input");
|
||||||
elem.name = "captcha";
|
elem.name = "captcha";
|
||||||
elem.autocomplete = "off";
|
elem.autocomplete = "off";
|
||||||
|
elem.setAttribute("id", "captcha_solution");
|
||||||
table_insert_row(tbody, document.createTextNode("Solution"), [elem])
|
table_insert_row(tbody, document.createTextNode("Solution"), [elem])
|
||||||
|
|
||||||
table.appendChild(tbody);
|
table.appendChild(tbody);
|
||||||
@ -160,6 +163,28 @@ DynReply.prototype.hide = function() {
|
|||||||
this.elem.style.display = "none";
|
this.elem.style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// clear all fields
|
||||||
|
DynReply.prototype.clear = function() {
|
||||||
|
this.clearSolution();
|
||||||
|
this.clearPostbox();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// clear captcha solution
|
||||||
|
DynReply.prototype.clearSolution = function() {
|
||||||
|
var e = document.getElementById("captcha_solution");
|
||||||
|
// reset value
|
||||||
|
e.value = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// clear postform elements
|
||||||
|
DynReply.prototype.clearPostbox = function() {
|
||||||
|
var e = document.getElementById("postform_subject");
|
||||||
|
e.value = "";
|
||||||
|
e = document.getElementById("postform_message");
|
||||||
|
e.value = "";
|
||||||
|
}
|
||||||
|
|
||||||
DynReply.prototype.post = function(cb, err_cb) {
|
DynReply.prototype.post = function(cb, err_cb) {
|
||||||
if (this.url && this.form) {
|
if (this.url && this.form) {
|
||||||
var data = new FormData(this.form);
|
var data = new FormData(this.form);
|
||||||
@ -187,6 +212,7 @@ DynReply.prototype.updateCaptcha = function() {
|
|||||||
var captcha_img = document.getElementById("captcha_img");
|
var captcha_img = document.getElementById("captcha_img");
|
||||||
captcha_img.src = this.prefix + "captcha/img";
|
captcha_img.src = this.prefix + "captcha/img";
|
||||||
}
|
}
|
||||||
|
this.clearSolution();
|
||||||
}
|
}
|
||||||
|
|
||||||
DynReply.prototype.setPrefix = function(prefix) {
|
DynReply.prototype.setPrefix = function(prefix) {
|
||||||
@ -359,9 +385,11 @@ function init(prefix) {
|
|||||||
// we're good
|
// we're good
|
||||||
r.showMessage("posted as "+j.message_id);
|
r.showMessage("posted as "+j.message_id);
|
||||||
r.updateCaptcha();
|
r.updateCaptcha();
|
||||||
|
r.clear();
|
||||||
}
|
}
|
||||||
}, function(err) {
|
}, function(err) {
|
||||||
r.showError(err);
|
r.showError(err);
|
||||||
|
r.clearSolution();
|
||||||
});
|
});
|
||||||
r.showMessage("posting... ");
|
r.showMessage("posting... ");
|
||||||
}
|
}
|
||||||
|
@ -16,16 +16,20 @@ return dynreply;}
|
|||||||
function table_insert_row(table,header,items){var tr=document.createElement("tr");var th=document.createElement("th");th.appendChild(header);tr.appendChild(th);for(var idx=0;idx<items.length;idx++){var elem=document.createElement("td");elem.appendChild(items[idx]);tr.appendChild(elem);}
|
function table_insert_row(table,header,items){var tr=document.createElement("tr");var th=document.createElement("th");th.appendChild(header);tr.appendChild(th);for(var idx=0;idx<items.length;idx++){var elem=document.createElement("td");elem.appendChild(items[idx]);tr.appendChild(elem);}
|
||||||
table.appendChild(tr);}
|
table.appendChild(tr);}
|
||||||
function DynReply(existingElem){if(existingElem){this.elem=existingElem;this.form=this.elem.querySelector("form");this._error=document.getElementById("postform_msg");this.url=this.form.action+"?t=json";return;}
|
function DynReply(existingElem){if(existingElem){this.elem=existingElem;this.form=this.elem.querySelector("form");this._error=document.getElementById("postform_msg");this.url=this.form.action+"?t=json";return;}
|
||||||
var elem=document.createElement("div");elem.setAttribute("id","postform_container");this.elem=elem;this.form=document.createElement("form");this.form.enctype="multipart/form-data";this.form.name="post";this.form.method="post";elem=document.createElement("input");elem.setAttribute("id","postform_reference");elem.name="reference";elem.type="hidden";this.form.appendChild(elem);var table=document.createElement("table");table.setAttribute("class","postform");var tbody=document.createElement("tbody");elem=document.createElement("input");elem.setAttribute("name","name");elem.setAttribute("value","Anonymous");var err_elem=document.createElement("span");err_elem.setAttribute("id","postform_msg");this._error=err_elem;table_insert_row(tbody,document.createTextNode("Name"),[elem,err_elem])
|
var elem=document.createElement("div");elem.setAttribute("id","postform_container");this.elem=elem;this.form=document.createElement("form");this.form.enctype="multipart/form-data";this.form.name="post";this.form.method="post";elem=document.createElement("input");elem.setAttribute("id","postform_reference");elem.name="reference";elem.type="hidden";this.form.appendChild(elem);var table=document.createElement("table");table.setAttribute("class","postform");var tbody=document.createElement("tbody");elem=document.createElement("input");elem.setAttribute("name","name");elem.setAttribute("value","Anonymous");elem.setAttribute("id","postform_name");var err_elem=document.createElement("span");err_elem.setAttribute("id","postform_msg");this._error=err_elem;table_insert_row(tbody,document.createTextNode("Name"),[elem,err_elem])
|
||||||
elem=document.createElement("input");elem.setAttribute("name","subject");elem.setAttribute("value","");var submit=document.createElement("input");submit.setAttribute("value","reply");submit.setAttribute("class","button");submit.setAttribute("type","submit");submit.setAttribute("id","postform_submit");table_insert_row(tbody,document.createTextNode("Subject"),[elem,submit]);elem=document.createElement("textarea");elem.setAttribute("id","postform_message");elem.setAttribute("name","message");elem.setAttribute("cols","40");elem.setAttribute("rows","5");table_insert_row(tbody,document.createTextNode("Comment"),[elem]);elem=document.createElement("input");elem.setAttribute("class","postform_attachment");elem.setAttribute("id","postform_attachments");elem.setAttribute("type","file");elem.setAttribute("name","attachment_uploaded");elem.setAttribute("multiple","multiple");table_insert_row(tbody,document.createTextNode("Files"),[elem]);elem=document.createElement("input");elem.setAttribute("type","checkbox");elem.setAttribute("name","dubs");table_insert_row(tbody,document.createTextNode("Get Dubs"),[elem]);elem=document.createElement("img");elem.setAttribute("id","captcha_img");elem.alt="captcha";table_insert_row(tbody,document.createTextNode("Captcha"),[elem]);elem=document.createElement("input");elem.name="captcha";elem.autocomplete="off";table_insert_row(tbody,document.createTextNode("Solution"),[elem])
|
elem=document.createElement("input");elem.setAttribute("name","subject");elem.setAttribute("value","");elem.setAttribute("id","postform_subject");var submit=document.createElement("input");submit.setAttribute("value","reply");submit.setAttribute("class","button");submit.setAttribute("type","submit");submit.setAttribute("id","postform_submit");table_insert_row(tbody,document.createTextNode("Subject"),[elem,submit]);elem=document.createElement("textarea");elem.setAttribute("id","postform_message");elem.setAttribute("name","message");elem.setAttribute("cols","40");elem.setAttribute("rows","5");table_insert_row(tbody,document.createTextNode("Comment"),[elem]);elem=document.createElement("input");elem.setAttribute("class","postform_attachment");elem.setAttribute("id","postform_attachments");elem.setAttribute("type","file");elem.setAttribute("name","attachment_uploaded");elem.setAttribute("multiple","multiple");table_insert_row(tbody,document.createTextNode("Files"),[elem]);elem=document.createElement("input");elem.setAttribute("type","checkbox");elem.setAttribute("name","dubs");table_insert_row(tbody,document.createTextNode("Get Dubs"),[elem]);elem=document.createElement("img");elem.setAttribute("id","captcha_img");elem.alt="captcha";table_insert_row(tbody,document.createTextNode("Captcha"),[elem]);elem=document.createElement("input");elem.name="captcha";elem.autocomplete="off";elem.setAttribute("id","captcha_solution");table_insert_row(tbody,document.createTextNode("Solution"),[elem])
|
||||||
table.appendChild(tbody);this.form.appendChild(table);this.elem.appendChild(this.form);document.body.appendChild(this.elem);this.board=null;this.roothash=null;this.prefix=null;this.url=null;}
|
table.appendChild(tbody);this.form.appendChild(table);this.elem.appendChild(this.form);document.body.appendChild(this.elem);this.board=null;this.roothash=null;this.prefix=null;this.url=null;}
|
||||||
DynReply.prototype.moveTo=function(x,y){x=window.screenX-x;this.elem.setAttribute("style","top: "+y+"px; right: "+x+"px;");}
|
DynReply.prototype.moveTo=function(x,y){x=window.screenX-x;this.elem.setAttribute("style","top: "+y+"px; right: "+x+"px;");}
|
||||||
DynReply.prototype.update=function(){if(this.prefix){this.updateCaptcha();if(this.board&&this.roothash){var ref=document.getElementById("postform_reference");ref.setAttribute("value",this.roothash);this.url=this.prefix+"post/"+this.board+"?t=json";}}}
|
DynReply.prototype.update=function(){if(this.prefix){this.updateCaptcha();if(this.board&&this.roothash){var ref=document.getElementById("postform_reference");ref.setAttribute("value",this.roothash);this.url=this.prefix+"post/"+this.board+"?t=json";}}}
|
||||||
DynReply.prototype.show=function(){console.log("show dynreply");this.update();this.elem.style.display='inline';}
|
DynReply.prototype.show=function(){console.log("show dynreply");this.update();this.elem.style.display='inline';}
|
||||||
DynReply.prototype.hide=function(){console.log("hide dynreply");this.elem.style.display="none";}
|
DynReply.prototype.hide=function(){console.log("hide dynreply");this.elem.style.display="none";}
|
||||||
|
DynReply.prototype.clear=function(){this.clearSolution();this.clearPostbox();}
|
||||||
|
DynReply.prototype.clearSolution=function(){var e=document.getElementById("captcha_solution");e.value="";}
|
||||||
|
DynReply.prototype.clearPostbox=function(){var e=document.getElementById("postform_subject");e.value="";e=document.getElementById("postform_message");e.value="";}
|
||||||
DynReply.prototype.post=function(cb,err_cb){if(this.url&&this.form){var data=new FormData(this.form);var ajax=new XMLHttpRequest();ajax.onreadystatechange=function(ev){if(ajax.readyState==XMLHttpRequest.DONE){var j=null;try{j=JSON.parse(ajax.responseText);cb(j);}catch(e){if(err_cb){err_cb(e);}}}}
|
DynReply.prototype.post=function(cb,err_cb){if(this.url&&this.form){var data=new FormData(this.form);var ajax=new XMLHttpRequest();ajax.onreadystatechange=function(ev){if(ajax.readyState==XMLHttpRequest.DONE){var j=null;try{j=JSON.parse(ajax.responseText);cb(j);}catch(e){if(err_cb){err_cb(e);}}}}
|
||||||
ajax.open("POST",this.url);ajax.send(data);}}
|
ajax.open("POST",this.url);ajax.send(data);}}
|
||||||
DynReply.prototype.updateCaptcha=function(){if(this.prefix){var captcha_img=document.getElementById("captcha_img");captcha_img.src=this.prefix+"captcha/img";}}
|
DynReply.prototype.updateCaptcha=function(){if(this.prefix){var captcha_img=document.getElementById("captcha_img");captcha_img.src=this.prefix+"captcha/img";}
|
||||||
|
this.clearSolution();}
|
||||||
DynReply.prototype.setPrefix=function(prefix){this.prefix=prefix;}
|
DynReply.prototype.setPrefix=function(prefix){this.prefix=prefix;}
|
||||||
DynReply.prototype.hide=function(){this.elem.style.display='none';}
|
DynReply.prototype.hide=function(){this.elem.style.display='none';}
|
||||||
DynReply.prototype.setBoard=function(boardname){if(boardname){this.board=boardname;}}
|
DynReply.prototype.setBoard=function(boardname){if(boardname){this.board=boardname;}}
|
||||||
@ -43,7 +47,7 @@ parent.appendChild(wrapper);parent.backlink=false;},function(msg){var wrapper=do
|
|||||||
parent.backlink=true;}};parent.backlink=true;}
|
parent.backlink=true;}};parent.backlink=true;}
|
||||||
function inject_hover_for_element(elem){var elems=elem.getElementsByClassName("backlink");var ls=[];var l=elems.length;for(var idx=0;idx<l;idx++){var e=elems[idx];ls.push(e);}
|
function inject_hover_for_element(elem){var elems=elem.getElementsByClassName("backlink");var ls=[];var l=elems.length;for(var idx=0;idx<l;idx++){var e=elems[idx];ls.push(e);}
|
||||||
for(var elem in ls){inject_hover(prefix,ls[elem]);}}
|
for(var elem in ls){inject_hover(prefix,ls[elem]);}}
|
||||||
function init(prefix){inject_hover_for_element(document);var rpl=getReplyTo();rpl.setPrefix(prefix);var e=rpl.elem;e.setAttribute("draggable","true");var mouseDownX,mouseDownY;var originalX=window.screenX-150;var originalY=10;rpl.moveTo(originalX,originalY);e.addEventListener("dragstart",function(ev){mouseDownX=ev.clientX;mouseDownY=ev.clientY;if(!ev.ctrlKey){ev.preventDefault();}},false);e.addEventListener("dragend",function(ev){var x=originalX+ev.clientX-mouseDownX;var y=originalY+ev.clientY-mouseDownY;x-=window.screenLeft;y-=window.screenTop;rpl.moveTo(x,y);originalX=x;originalY=y;},false);e=document.getElementById("postform_submit");var postit=function(){var f=document.querySelector("form");var r=getReplyTo();r.post(function(j){if(j.error){r.showError(j.error);}else{r.showMessage("posted as "+j.message_id);r.updateCaptcha();}},function(err){r.showError(err);});r.showMessage("posting... ");}
|
function init(prefix){inject_hover_for_element(document);var rpl=getReplyTo();rpl.setPrefix(prefix);var e=rpl.elem;e.setAttribute("draggable","true");var mouseDownX,mouseDownY;var originalX=window.screenX-150;var originalY=10;rpl.moveTo(originalX,originalY);e.addEventListener("dragstart",function(ev){mouseDownX=ev.clientX;mouseDownY=ev.clientY;if(!ev.ctrlKey){ev.preventDefault();}},false);e.addEventListener("dragend",function(ev){var x=originalX+ev.clientX-mouseDownX;var y=originalY+ev.clientY-mouseDownY;x-=window.screenLeft;y-=window.screenTop;rpl.moveTo(x,y);originalX=x;originalY=y;},false);e=document.getElementById("postform_submit");var postit=function(){var f=document.querySelector("form");var r=getReplyTo();r.post(function(j){if(j.error){r.showError(j.error);}else{r.showMessage("posted as "+j.message_id);r.updateCaptcha();r.clear();}},function(err){r.showError(err);r.clearSolution();});r.showMessage("posting... ");}
|
||||||
e.onclick=postit;var f=document.querySelector("form");f.onsubmit=function(){postit();return false;}}
|
e.onclick=postit;var f=document.querySelector("form");f.onsubmit=function(){postit();return false;}}
|
||||||
/* ./contrib/js/banner.js */
|
/* ./contrib/js/banner.js */
|
||||||
var banner_count=3;function nntpchan_inject_banners(elem,prefix){var n=Math.floor(Math.random()*banner_count);var banner=prefix+"static/banner_"+n+".jpg";var e=document.createElement("img");e.src=banner;e.id="nntpchan_banner";elem.appendChild(e);}
|
var banner_count=3;function nntpchan_inject_banners(elem,prefix){var n=Math.floor(Math.random()*banner_count);var banner=prefix+"static/banner_"+n+".jpg";var e=document.createElement("img");e.src=banner;e.id="nntpchan_banner";elem.appendChild(e);}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
{{#i18n.Translations}}{{name}}{{/i18n.Translations}}
|
{{#i18n.Translations}}{{name}}{{/i18n.Translations}}
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="name" value="" />
|
<input type="text" name="name" value="" id="postform_name" />
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<span id="postform_msg"></span>
|
<span id="postform_msg"></span>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
{{#i18n.Translations}}{{subject}}{{/i18n.Translations}}
|
{{#i18n.Translations}}{{subject}}{{/i18n.Translations}}
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="subject" value="" />
|
<input type="text" name="subject" value="" id="postform_subject" />
|
||||||
<input type="submit" value="{{button}}" class="button" id="postform_submit" />
|
<input type="submit" value="{{button}}" class="button" id="postform_submit" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -74,7 +74,7 @@
|
|||||||
{{#i18n.Translations}}{{solution}}{{/i18n.Translations}}
|
{{#i18n.Translations}}{{solution}}{{/i18n.Translations}}
|
||||||
</th>
|
</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" name="captcha" autocomplete="off" />
|
<input type="text" name="captcha" autocomplete="off" id="captcha_solution" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
Reference in New Issue
Block a user