I have followed this further and if I create an eForm template as a snippet and not a chunk then I get the postback always coming back as false at line 685 in eform.inc.php ??
My template (test2) has been simplified (I realize this particular template could be stored as a chunk):
<?php
?>
[+validationmessage+]
<form method="post" action="[~[*id*]~]" id="test_1">
<p>text<input type="text" name="fullname" size="30" maxlength="60" eform="Name::1" /></p>
<p>radio<input name="rad" id="rad" type="checkbox" value="yes" checked="checked" /></p>
<p><input class="verify" type="submit" name="Submit" value="Send"></p>
</form>
<?php
?>
The eForm call is:
[!eForm? &debug=`1` &formid=`test_1` &tpl=`test2` &noemail=`1` !]
if you run the page and uncheck the checkbox and submit the form it returns asking for the text to be completed (as expected), but the checkbox is rechecked.
This is due to line 685 in eform.inc.php always returning 0, which in turn prevents line 827 being true:
if(!$isPostBack && !empty($tagAttributes['checked'])) $fields[$name][]=stripTagQuotes($tagAttributes['value']);
and hence not unchecking the checkbox after a failed validation postback.... it works fine as a chunk.
I added a line after 685 to check this isPostBack value:
echo '$isPostBack:'.$isPostBack;