It's not my area but just looking at your code and the sample from the documentation I've noticed 2 things:
$captcha_encryptedValue = <input name="captcha" type="hidden" id="captchaEncryptedValue" value="{$captcha_encryptedValue}" />
$captcha_value = <input type="text" Placeholder="Type above text" id="txtCaptcha" name="txtCaptcha" value="{$captcha_value}" />
You've written it vice versa
2.
In the documentation sample, one gets:
a. the value from the form's "txtCaptcha" field with c1:GetFormData()
Again, not my area. Hopefully not misleading you
whereShouldn't it be like this?
$captcha_value = <input name="captcha" type="hidden" id="captchaEncryptedValue" value="{$captcha_encryptedValue}" />
and
$captcha_encryptedValue = <input type="text" Placeholder="Type above text" id="txtCaptcha" name="txtCaptcha" value="{$captcha_value}" />
$captcha_encryptedValue = <input name="captcha" type="hidden" id="captchaEncryptedValue" value="{$captcha_encryptedValue}" />
$captcha_value = <input type="text" Placeholder="Type above text" id="txtCaptcha" name="txtCaptcha" value="{$captcha_value}" />
You've written it vice versa
2.
In the documentation sample, one gets:
a. the value from the form's "txtCaptcha" field with c1:GetFormData()
<xsl:variable name="captcha_value" select="c1:GetFormData('txtCaptcha')" />
b. the value from the hidden "captcha" field - first with c1:GetFormData(), then with captcha:GetEncryptedValue()<xsl:variable name="captcha_encryptedValue" select="captcha:GetEncryptedValue(c1:GetFormData('captcha'))" />
Not clear from your code, how you get those. Again, not my area. Hopefully not misleading you