u/DullCheck5303

▲ 2 r/Powerpages+1 crossposts

Power Pages custom signature pad not saving to Dataverse on form submit — tried dispatchEvent and jQuery trigger, both fail

Hey everyone, hoping someone has run into this before. I'm building a form in Power Pages that needs a signature capture field. The out-of-box Pen Input component didn't meet my needs, so I built a custom signature pad using the signature_pad@4.1.7 library. The signature draws and displays perfectly on the form — that part works great. The problem is the signature value never gets saved to Dataverse when the form is submitted.

Setup:

  • Power Pages portal form connected to a custom Dataverse table (cra93_enginetankercheckof)
  • The signature field (cra93_signature) is a Multiline Text column in Dataverse
  • On the form, the field renders as a hidden textarea (display:none)
  • A custom canvas-based signature pad is injected via JavaScript in the page's custom code section
  • On submit, the JS is supposed to read the canvas as a base64 PNG and write it to the hidden textarea, which Power Pages should then save to Dataverse

The JavaScript (simplified):

javascript

form.addEventListener('submit', function() {
if (!pad.isEmpty()) {
$('#cra93_signature').val(pad.toDataURL('image/png').split('base64,')[1]).trigger('change');
}
}, true);

What we've tried:

  1. Plain JS value assignmenttextarea.value = pad.toDataURL(...) — field stays blank in Dataverse
  2. Native dispatchEvent — firing both input and change events after the value assignment — field stays blank in Dataverse
  3. jQuery .val().trigger('change') — since Power Pages forms are jQuery-based, we thought this would mark the field dirty — field still stays blank in Dataverse

In all three cases, the signature pad draws correctly, the canvas has data, but after submission the cra93_signature column in Dataverse is completely empty. The Power Automate flow that reads the record after submission confirms the field is empty — it's not a flow issue, the data simply never reaches Dataverse.

What we confirmed:

  • jQuery is available on the page (it's a Power Pages default)
  • The textarea element exists and is correctly selected by $('#cra93_signature')
  • All other fields on the form save correctly to Dataverse
  • The signature field being display:none appears to be the core issue — Power Pages seems to skip hidden multiline text fields during form serialization regardless of events fired

Question: Has anyone successfully written a programmatic value to a hidden multiline text field in a Power Pages form and had it save to Dataverse? Is there a specific internal Power Pages API or method (like Page_Validators, EntityForm, or a portal-specific JS hook) that needs to be called to force the field into the submission payload? Or is the only option to make the field visible and rely on some other method to hide it visually?

Any help appreciated — this is for a fire department's training evaluation form and we're weeks past our target launch date. Thanks in advance.

reddit.com
u/DullCheck5303 — 2 days ago