We have now opened a commercial services section here on the forum for registered users. If you have a Fabrik project that you wish to have someone work on for you, post it under Help Wanted. If you are an application developer and wish to earn some money helping others, post your details under Fabrik Application Developers.
Both of these are unmoderated. It will be up to both parties to work out the details and come to an agreement.
For running J!5.1 you must https://fabrikar.com/forums/index.php?wiki/update-from-github/ or include the new file manually https://fabrikar.com/forums/index.php?threads/joomla-5-1-and-fabrik-cannot-find-files-error.54473/post-285151 See also Announcements
<div id="fooDiv">
<label for="foo">Leave this field blank</label>
<input type="text" name="foo" id="foo">
</div>
<script>
(function () {
var e = document.getElementById("fooDiv");
e.parentNode.removeChild(e);
})();
</script>
return empty($data);
var container = this.findClassUp('fabrikElementContainer');
container.parentNode.removeChild(container);
You could try adding a simple field, and a PHP validation of ...
PHP:return empty($data);
... and a JS event on the element, running onLoad, with this code:
Code:var container = this.findClassUp('fabrikElementContainer'); container.parentNode.removeChild(container);
I tested that code, and it works, and removes the entire element container from the DOM.
Whether this will work as adevrtized, and bots will still see it and fill it in, I don't know. But worth a go.
Do let me know. This might be an interesting element type to add, something like "honeypot", which has this functionality built in, no need to add code or validations. It would also be nice to have a 'honeypot' validation failure do so "silently", with no feedback, and acting as if the form had submitted.
-- hugh
jQuery(this.element).closest('.fabrikElementContainer').remove();