I want to programmatically pre populate some fields in my 123forms form with data from my app server. Is this possible?
123forms allows me to inject a script where I wrote a postMessage(msg, mysite). Now how do I get a handle to the window to attach a message listener.
#formBuilder1 {
myInjectedScript {
// settings -> advanced -> script: https://myapp.com/talk2mywixsite.js
window.parent.postMessage('iNeedData', 'https://mywixsite.com')
}
}
wixPage:code {
// need to listen and reply to messages from 123forms
// ideal listen on top window to get all messages
$w.onMessage(processMessage)
// not ideal bc code for each formBuilder - there will be a lot
$w('#formBuilder1').onMessage(processMessage)
function processMessage(event) {
const origin = event.origin
const event = event.data
const source = event.source
if (origin === 'https://myapp.com' && event === 'iNeedData') {
source.postMessage({some: 'data'})
}
}
}