auto retry, keep auto checked across form reset

This commit is contained in:
James Campos 2011-07-31 23:28:03 -07:00
parent ad0e5a28ae
commit 39d1cdfae2
2 changed files with 33 additions and 4 deletions

View File

@ -1222,7 +1222,7 @@
submit.value = 'Submit'; submit.value = 'Submit';
} }
if (qr.el && $('#auto', qr.el).checked) { if (qr.el && $('#auto', qr.el).checked) {
return qr.submit.call($('form', qr.el)); return qr.auto();
} }
} }
} }
@ -1267,6 +1267,9 @@
$('input[name=recaptcha_response_field]', qr.el).value = ''; $('input[name=recaptcha_response_field]', qr.el).value = '';
$.extend($('#error', qr.el), JSON.parse(data)); $.extend($('#error', qr.el), JSON.parse(data));
qr.autohide.unset(); qr.autohide.unset();
if (data.textContent === 'You seem to have mistyped the verification.') {
qr.auto();
}
return; return;
} }
if (qr.el) { if (qr.el) {
@ -1297,12 +1300,23 @@
return qr.quote(this); return qr.quote(this);
} }
}, },
auto: function() {
var captcha, responseField;
responseField = $('input[name=recaptcha_response_field]', qr.el);
if (!responseField.value && (captcha = qr.captcha.shift())) {
$('input[name=recaptcha_challenge_field]', qr.el).value = captcha.challenge;
responseField.value = captcha.response;
responseField.nextSibling.textContent = qr.captcha.length;
}
return qr.submit.call($('form', qr.el));
},
push: function() { push: function() {
this.nextSibling.textContent = qr.captcha.push({ this.nextSibling.textContent = qr.captcha.push({
challenge: $('input[name=recaptcha_challenge_field]', qr.el).value, challenge: $('input[name=recaptcha_challenge_field]', qr.el).value,
response: this.value response: this.value
}); });
return Recaptcha.reload(); Recaptcha.reload();
return this.value = '';
}, },
submit: function(e) { submit: function(e) {
var id, inputfile, isQR, op; var id, inputfile, isQR, op;
@ -1361,8 +1375,10 @@
return ta.value += text; return ta.value += text;
}, },
refresh: function() { refresh: function() {
var c, m; var auto, c, m;
auto = $('#auto', qr.el).checked;
$('form', qr.el).reset(); $('form', qr.el).reset();
$('#auto', qr.el).checked = auto;
c = d.cookie; c = d.cookie;
$('input[name=name]', qr.el).value = (m = c.match(/4chan_name=([^;]+)/)) ? decodeURIComponent(m[1]) : ''; $('input[name=name]', qr.el).value = (m = c.match(/4chan_name=([^;]+)/)) ? decodeURIComponent(m[1]) : '';
$('input[name=email]', qr.el).value = (m = c.match(/4chan_email=([^;]+)/)) ? decodeURIComponent(m[1]) : ''; $('input[name=email]', qr.el).value = (m = c.match(/4chan_email=([^;]+)/)) ? decodeURIComponent(m[1]) : '';

View File

@ -953,7 +953,7 @@ cooldown =
submit.disabled = false submit.disabled = false
submit.value = 'Submit' submit.value = 'Submit'
if qr.el and $('#auto', qr.el).checked if qr.el and $('#auto', qr.el).checked
qr.submit.call $ 'form', qr.el qr.auto()
qr = qr =
init: -> init: ->
@ -990,6 +990,8 @@ qr =
$('input[name=recaptcha_response_field]', qr.el).value = '' $('input[name=recaptcha_response_field]', qr.el).value = ''
$.extend $('#error', qr.el), JSON.parse data $.extend $('#error', qr.el), JSON.parse data
qr.autohide.unset() qr.autohide.unset()
if data.textContent is 'You seem to have mistyped the verification.'
qr.auto()
return return
if qr.el if qr.el
@ -1014,11 +1016,20 @@ qr =
e.preventDefault() e.preventDefault()
qr.quote @ qr.quote @
auto: ->
responseField = $ 'input[name=recaptcha_response_field]', qr.el
if !responseField.value and captcha = qr.captcha.shift()
$('input[name=recaptcha_challenge_field]', qr.el).value = captcha.challenge
responseField.value = captcha.response
responseField.nextSibling.textContent = qr.captcha.length
qr.submit.call $ 'form', qr.el
push: -> push: ->
@nextSibling.textContent = qr.captcha.push @nextSibling.textContent = qr.captcha.push
challenge: $('input[name=recaptcha_challenge_field]', qr.el).value challenge: $('input[name=recaptcha_challenge_field]', qr.el).value
response: @value response: @value
Recaptcha.reload() Recaptcha.reload()
@value = ''
submit: (e) -> submit: (e) ->
if conf['Auto Watch Reply'] and conf['Thread Watcher'] if conf['Auto Watch Reply'] and conf['Thread Watcher']
@ -1067,7 +1078,9 @@ qr =
ta.value += text ta.value += text
refresh: -> refresh: ->
auto = $('#auto', qr.el).checked
$('form', qr.el).reset() $('form', qr.el).reset()
$('#auto', qr.el).checked = auto
c = d.cookie c = d.cookie
$('input[name=name]', qr.el).value = if m = c.match(/4chan_name=([^;]+)/) then decodeURIComponent m[1] else '' $('input[name=name]', qr.el).value = if m = c.match(/4chan_name=([^;]+)/) then decodeURIComponent m[1] else ''
$('input[name=email]', qr.el).value = if m = c.match(/4chan_email=([^;]+)/) then decodeURIComponent m[1] else '' $('input[name=email]', qr.el).value = if m = c.match(/4chan_email=([^;]+)/) then decodeURIComponent m[1] else ''