Below is my form which works perfectly fine. I do have a question which I can’t find out; I want it to a: auto fill for the user and b: it would be great for certain fields to remember its content after submitting the form for repeated users.
How can I accomplish this? Thanks for your feedback!
import { sendEmail , sendEmailWithRecipient } from ‘backend/email’ ;
$w . onReady ( function () {
$w ( “#dataset1” ). onAfterSave ( sendFormData );
});
function sendFormData ( ) {
const subject = Nieuwe opdracht geplaatst door ${ $w ( "#input33" ). value }
;
const body = `Samenvatting van aangeboden opdracht via Talent Trade
\rOpdracht titel: ${ $w ( "#input27" ). value }
\rFunctie titel: ${ $w ( "#input28" ). value }
\rOmschrijving: ${ $w ( "#textBox3" ). value }
\rExtra info: ${ $w ( "#textBox4" ). value }
\rVaardigheden: ${ $w ( "#checkboxGroup2" ). value }
\rStartdatum: ${ $w ( "#datePicker3" ). value }
\rEinddatum: ${ $w ( "#datePicker4" ). value }
\rStarttijd: ${ $w ( "#timePicker3" ). value }
\rEindtijd: ${ $w ( "#timePicker4" ). value }
\rPauze: ${ $w ( "#dropdown3" ). value }
\rAantal ZZP'ers: ${ $w ( "#input29" ). value }
\rUurtarief excl btw en bemiddelingskosten: ${ $w ( "#input30" ). value }
\rWerkadres: ${ $w ( "#input36" ). value }
\rContactpersoon: ${ $w ( "#input31" ). value }
\rTelefoon: ${ $w ( "#input32" ). value }
\rBedrijfsnaam: ${ $w ( "#input33" ). value }
\rE-mail: ${ $w ( "#input34" ). value }
Voor wijzigingen of annuleren (24u van tevoren kosteloos wanneer de opdracht al is geaccepteerd) stuur je een reply op deze mail` ;
const recipient = $w ( “#input34” ). value ;
sendEmailWithRecipient ( subject , body , recipient )
. then ( response => console . log ( response ));
sendEmail ( subject , body )
. then ( response => console . log ( response ));
}
You will need something into this direction…
import {sendEmail, sendEmailWithRecipient} from 'backend/email';
import {local} from 'wix-storage';
let dbField = [], fieldValue = [];
$w.onReady(function () {let data = [];
let memItems = local.getItem("memory"); console.log("MEMORY: ", savedData);
//---MEMORY-CONTROLLER.....
let toBeMemorized = ["opdrachtTitle", "eMail"]; //<--- put in here, which data to be memorized!
//----------------------------------------------------------------------
const subject = `Nieuwe opdracht geplaatst door ${$w("#input33").value}`;
//-----------------------------------------------------------------------
const recipient = $w("#input34").value;
//-----------------------------------------------------------------------
dbField[0] = "opdrachtTitle"; fieldValue[0] = $w("#input27").value;
dbField[1] = "functieTitle"; fieldValue[1] = $w("#input28").value;
dbField[2] = "omschrijving"; fieldValue[2] = $w("#textBox3").value;
dbField[3] = "eMail"; fieldValue[3] = $w("#input34").value;
//-----------------------------------------------------------------------
const body = `Samenvatting van aangeboden opdracht via Talent Trade
\rOpdracht titel:${dbField[0]}
\rFunctie titel:${dbField[1]}
\rOmschrijving:${dbField[2]}
\rE-mail:${dbField[3]}
Voor wijzigingen of annuleren (24u van tevoren kosteloos wanneer de opdracht al is geaccepteerd) stuur je een reply op deze mail`;
//-----------------------------------------------------------------------
for (let a = 0; a < dbField.length; a++) {
//data[dbField[a]] = fieldValue[a];
for (let b = 0; b < toBeMemorized.length; b++) {
//---MEMORY-FUNCTION for some fields...
if (dbField[a] === toBeMemorized[b]) {
data.push({[dbField[a]]: fieldValue[0]})
}
if(a===dbField.length-1) {
local.setItem("memory", JSON.stringify(data));
}
}
}
//-----------------------------------------------------------------------
$w("#dataset1").onAfterSave(()=>{sendFormData(subject, body, recipient)});
//-----------------------------------------------------------------------
});
function sendFormData(subject, body, recipient) {
sendEmailWithRecipient(subject, body, recipient).then(response => console.log(response));
sendEmail(subject, body).then(response => console.log(response));
}
You will have to expand and optimize the shown code eventually. Give it a try.