Button on Mobile Device

Got a standard form with a button at the bottom which I have written some code activated by the buttons onClick command

Works fine on laptop but does nothing on a mobile

I am not an experienced coder and do not know if you can or how to see java console in ios but on laptop the button updates one database, puts data in a second and then if successful moves you to a Success page via wixLocation link

I read somewhere buttons on mobiles could be affected by overlapping items so I have been careful to ensure the button occupies its own space

Anyone got any pointers?

Just read all the back threads on this issue and as far as I can see, there has been no solution offered by anyone and Wix have swerved an answer going back for a year

Before I waste any more time, it would be really great if someone at Wix could confirm that there is an issue and I can simply block the mobile page until we get an answer

Maybe not then!

Do you find a solution I have the same problem.

Hi Ryan

Reading back through posts I notice a distinct lack of comment from Wix people on issues they clearly cannot solve

Earliest post I read basically saying the same thing as I did was over a year ago

I am of the belief that this is a problem Wix do not have the answer too.

Rather frustrated that they do not just say, yes problem as I have wasted an awful lot of time trying to get the site to do something it cannot do!

Wix people - feel free to make me eat my words!

https://www.eppingyouthfc.co.uk/registration2019/id/42bb6232-401e-4641-8fac-d81efea5afc1

As you can see it is a dynamic page, the site displays a list of players registered to a user who has logged in on page https://www.eppingyouthfc.co.uk/registration-2019-20 and then allows the user to select a player to update details and register to play in the next season

We tested the site live this morning amongst some of our members (our coaches) before publicising to all our players parents.

On guy came back saying his mobile displayed the site and clicked through to the dynamic page but the button on the dynamic page did nothing.

I tried on my iPhone 6+ and same thing (his messages to me are green on my phone so he must have an android)

I would print the code but I am working on a mac with OS 10.6.8 in Chrome and another glitch, code is not visible when you go to edit. I have had to borrow a PC laptop to work on the site!

I will send the code (but have borrowed a laptop not set up or linked to this mac as Chrome on this machine fails to display the code) but in answer to your question, It didnt for myself or my colleague but the database now has a test test testy entry from a members id that isnt one of ours, I assume you registered and if so, did you create the entry from a laptop?

import wixData from ‘wix-data’;
import { session } from ‘wix-storage’;
import wixUsers from ‘wix-users’;
import wixLocation from ‘wix-location’;
$w.onReady(function () { //fixture Table code
$w(“#registrationDataset”).onReady(() => {
let user = wixUsers.currentUser;
let userId = user.id; // “r5cme-6fem-485j-djre-4844c49”
let isLoggedIn = user.loggedIn; // true
let userRole = user.role; // “Member”
console.log(“User Role is " + userRole);
if (!isLoggedIn) {
$w(”#missingFieldText").show();
$w(“#instructionText”).hide();
$w(“#inputContainer”).hide();
$w(“#missingFieldText”).text = " Please log in,“;
} else {
$w(”#memberInputID").value = userId;
$w(“#inputContainer”).show();
console.log(“User ID2 is " + userId);
}
});
$w(”#schoolsDataset").onReady(() => {
$w(“#schoolsDataset”).setSort(wixData.sort()
.ascending(“title”)
.descending(“schoolType”)
);
console.log(“Schools Dataset sorted”);
});
$w(“#teamsDataset”).onReady(() => {
$w(“#teamsDataset”).setSort(wixData.sort()
.ascending(“ageGroup”)
);
console.log(“Teams Dataset sorted”);
});
});
export function playerForename_change(event) {
let fullName = $w(“#playerForename”).value + " " + $w(“#playerSurname”).value;
$w(“#playerFullname”).value = fullName.toString();
console.log(“OK forename changed”);
}
export function playerSurname_change(event) {
let fullName = $w(“#playerForename”).value + " " + $w(“#playerSurname”).value;
$w(“#playerFullname”).value = fullName.toString();
console.log(“OK surname changed”);
}
export function parent1ForenameInput_change(event, $w) {
let parent1Fullname = $w(“#pForename1Input”).value + " " + $w(“#pSurname1Input”).value;
$w(“#parent1FullnameInput”).value = parent1Fullname.toString();
console.log(“OK parent1 forename changed”);
}
export function parent1SurnameInput_change(event, $w) {
let parent1Fullname = $w(“#pForename1Input”).value + " " + $w(“#pSurname1Input”).value;
$w(“#parent1FullnameInput”).value = parent1Fullname.toString();
console.log(“OK parent1 surname changed”);
}
export function parent2ForenameInput_change(event, $w) {
let parent2Fullname = $w(“#pForename2Input”).value + " " + $w(“#pSurname2Input”).value;
$w(“#parent2FullnameInput”).value = parent2Fullname.toString();
console.log(“OK parent2 forename changed”);
}
export function parent2SurnameInput_change_1(event, $w) {
let parent2Fullname = $w(“#pForename2Input”).value + " " + $w(“#pSurname2Input”).value;
$w(“#parent2FullnameInput”).value = parent2Fullname.toString();
console.log(“OK parent2 surname changed”);
}
export function teamInput_change(event, $w) {
console.log(“team input change started”);
let playerStatus = $w(“#teamInput”).value;
if (playerStatus === “Academy”) {
$w(“#playerStatus”).value = “academy player”;
$w(“#acadCheckboxAutumn”).checked = true;
$w(“#acadBalanceOwing”).value = “60”;
$w(“#teamBalanceOwing”).value = “”;
} else if (playerStatus === “SSE Wildcats”) {
$w(“#playerStatus”).value = “wildcats player”;
$w(“#acadCheckboxAutumn”).checked = true;
$w(“#acadBalanceOwing”).value = “60”;
$w(“#teamBalanceOwing”).value = “”;
} else {
console.log(“team input else - team player”);
$w(“#playerStatus”).value = “team player”;
$w(“#teamBalanceOwing”).value = “240”;
$w(“#acadBalanceOwing”).value = “”;
}
}
export function registerButton_click(event) {
console.log(“clicked”);
$w(“#errorText”).hide();
$w(“#successText”).hide();
$w(“#fieldsText”).text = “The following fields require content, “;
$w(”#fieldsText”).hide();
let updateDataset = “true”; //Field Validation
let fullName = $w(“#playerForename”).value + " " + $w(“#playerSurname”).value;
$w(“#playerFullname”).value = fullName.toString();
let playerStatus = $w(“#teamInput”).value;
console.log(“player status after click” + playerStatus);
if (playerStatus === “Academy”) {
$w(“#playerStatus”).value = “academy player”;
$w(“#acadCheckboxAutumn”).checked = true;
$w(“#acadBalanceOwing”).value = “60”;
$w(“#teamBalanceOwing”).value = “”;
} else if (playerStatus === “SSE Wildcats”) {
$w(“#playerStatus”).value = “wildcats player”;
$w(“#acadCheckboxAutumn”).checked = true;
$w(“#acadBalanceOwing”).value = “60”;
$w(“#teamBalanceOwing”).value = “”;
} else {
console.log(“team input else - team player”);
$w(“#playerStatus”).value = “team player”;
$w(“#teamBalanceOwing”).value = “240”;
$w(“#acadBalanceOwing”).value = “”;
}
let parent1Fullname = $w(“#pForename1Input”).value + " " + $w(“#pSurname1Input”).value;
$w(“#parent1FullnameInput”).value = parent1Fullname.toString();
let parent2Fullname = $w(“#pForename2Input”).value + " " + $w(“#pSurname2Input”).value;
$w(“#parent2FullnameInput”).value = parent2Fullname.toString();
let address1Input = $w(“#address1Input”).valid;
if (!address1Input) {
$w(“#fieldsText”).text += " Address 1,“;
updateDataset = “false”;
}
let postTownInput = $w(”#postTownInput").valid;
if (!postTownInput) {
$w(“#fieldsText”).text += " Post Town,“;
updateDataset = “false”
}
let postCodeInput = $w(”#postCodeInput").valid;
if (!postCodeInput) {
$w(“#fieldsText”).text += " Post Code,“;
updateDataset = “false”
}
let pForename1Input = $w(”#pForename1Input").valid;
if (!pForename1Input) {
$w(“#fieldsText”).text += " Parent Forename,“;
updateDataset = “false”
}
let pSurname1Input = $w(”#pSurname1Input").valid;
if (!pSurname1Input) {
$w(“#fieldsText”).text += " Parent Surname,“;
updateDataset = “false”
}
let pMobile1Input = $w(”#pMobile1Input").valid;
if (!pMobile1Input) {
$w(“#fieldsText”).text += " Parent Mobile Number,“;
updateDataset = “false”
}
let medicalInput = $w(”#medicalInput").valid;
if (!medicalInput) {
$w(“#fieldsText”).text += " Medical Information (if N/A mark ‘None’,“;
updateDataset = “false”
}
let medicalCheckbox = $w(”#medicalCheckbox").valid;
if (!medicalCheckbox) {
$w(“#fieldsText”).text += " Please check medical checkbox to confirm information is valid,“;
updateDataset = “false”
}
let termsCheckbox = $w(”#termsCheckbox").valid;
if (!termsCheckbox) {
$w(“#fieldsText”).text += " Please check Terms checkbox to accept Terms and Conditions,“;
updateDataset = “false”
}
let toSave = {
“playerForename”: $w(”#playerForename").value.trim(),
“playerSurname”: $w(“#playerSurname”).value.trim(),
“playerFullname”: $w(“#playerFullname”).value.trim(),
“dateDob”: $w(“#dobInput”).value,
“playerTeam”: $w(“#teamInput”).value,
“playerAddress1”: $w(“#address1Input”).value.trim(),
“playerAddress2”: $w(“#address2Input”).value.trim(),
“playerAddressTown”: $w(“#postTownInput”).value.trim(),
“playerAddressCounty”: $w(“#countyInput”).value.trim(),
“playerAddressPostcode”: $w(“#postCodeInput”).value.trim(),
“playerSchool”: $w(“#schoolInput”).value,
“playerMedical”: $w(“#medicalInput”).value.trim(),
“parentForename1”: $w(“#pForename1Input”).value.trim(),
“parentSurname1”: $w(“#pSurname1Input”).value.trim(),
“parentFullname1”: $w(“#parent1FullnameInput”).value.trim(),
“parentRelationship1”: $w(“#pRelationship1Input”).value.trim(),
“parentTel1”: $w(“#pTel1Input”).value.trim(),
“parentMobile1”: $w(“#pMobile1Input”).value.trim(),
“parentEmail1”: $w(“#pEmail1Input”).value.trim(),
“parentForename2”: $w(“#pForename2Input”).value.trim(),
“parentSurname2”: $w(“#pSurname2Input”).value.trim(),
“parentFullname2”: $w(“#parent2FullnameInput”).value.trim(),
“parentRelationship2”: $w(“#pRelationship2Input”).value.trim(),
“parentTel2”: $w(“#pTel2Input”).value.trim(),
“parentMobile2”: $w(“#pMobile2Input”).value.trim(),
“parentEmail2”: $w(“#pEmail2Input”).value.trim(),
“emergencyContact”: $w(“#eInput”).value.trim(),
“emergencyRelationship”: $w(“#eRelationshipInput”).value.trim(),
“emergencyTel”: $w(“#eTelephoneInput”).value.trim(),
“emergencyMobile”: $w(“#eMobileInput”).value.trim(),
“acadCheckboxAutumn”: $w(“#acadCheckboxAutumn”).checked,
“acadCheckboxSpring”: $w(“#acadCheckboxSpring”).checked,
“acadCheckboxSummer”: $w(“#acadCheckboxSummer”).checked,
“teamBalanceOwing”: Number($w(“#teamBalanceOwing”).value),
“acadBalanceOwing”: Number($w(“#acadBalanceOwing”).value),
“photographyConsent”: $w(“#photographyCheckbox”).checked,
“medicalConsent”: $w(“#medicalCheckbox”).checked,
“termsConsent”: $w(“#termsCheckbox”).checked,
“memberInputId”: $w(“#memberInputID”).value,
“playerStatus”: $w(“#playerStatus”).value,
};
let toUpdate = {
“_id”: $w(“#IDText”).text,
“playerForename”: $w(“#playerForename”).value.trim(),
“playerSurname”: $w(“#playerSurname”).value.trim(),
“dateDob”: $w(“#dobInput”).value,
“playerTeam”: $w(“#teamInput”).value,
“playerFullname”: $w(“#playerFullname”).value.trim(),
“playerAddress1”: $w(“#address1Input”).value.trim(),
“playerAddress2”: $w(“#address2Input”).value.trim(),
“playerAddressTown”: $w(“#postTownInput”).value.trim(),
“playerAddressCounty”: $w(“#countyInput”).value.trim(),
“playerAddressPostcode”: $w(“#postCodeInput”).value.trim(),
“playerSchool”: $w(“#schoolInput”).value,
“playerMedical”: $w(“#medicalInput”).value.trim(),
“parent1”: $w(“#pForename1Input”).value.trim(),
“parentSurname1”: $w(“#pSurname1Input”).value.trim(),
“parentRelationship1”: $w(“#pRelationship1Input”).value.trim(),
“parentTel1”: $w(“#pTel1Input”).value.trim(),
“parentMobile1”: $w(“#pMobile1Input”).value.trim(),
“parentEmail1”: $w(“#pEmail1Input”).value.trim(),
“parent2”: $w(“#pForename2Input”).value.trim(),
“parentSurname2”: $w(“#pSurname2Input”).value.trim(),
“parentRelationship2”: $w(“#pRelationship2Input”).value.trim(),
“parentTel2”: $w(“#pTel2Input”).value.trim(),
“parentMobile2”: $w(“#pMobile2Input”).value.trim(),
“parentEmail2”: $w(“#pEmail2Input”).value.trim(),
“emergency1”: $w(“#eInput”).value.trim(),
“emergencyRelationship1”:$w(“#eRelationshipInput”).value.trim(),
“emergencyTel1”: $w(“#eTelephoneInput”).value.trim(),
“emergencyMobile1”: $w(“#eMobileInput”).value.trim(),
“parent1Fullname”: $w(“#parent1FullnameInput”).value.trim(),
“parent2Fullname”: $w(“#parent2FullnameInput”).value.trim(),
“photographyConsent”: $w(“#photographyCheckbox”).checked,
“termsConsent”: $w(“#termsCheckbox”).checked,
“appearanceFifty”: $w(“#50Checkbox”).checked,
“appearanceHundred”: $w(“#100Checkbox”).checked,
“appearance201819”: $w(“#appearances2018”).text.trim(),
“memberInputId”: $w(“#register2019”).value,
“playerStatus”: $w(“#playerStatus”).value,
“academyFeeAutumn”: $w(“#academyFeeAutumn”).value,
“academyFeeAutumnDate”: $w(“#academyFeeAutumnDate”).value,
“academyFeeSpring”: $w(“#academyFeeSpring”).value,
“academyFeeSpringDate”: $w(“#academyFeeSpringDate”).value,
“academyFeeSummer”: $w(“#academyFeeSummer”).value,
“academyFeeSummerDate”: $w(“#academyFeeSummerDate”).value,
“academyFeeBalance”: Number($w(“#acadBalanceOwing”).value),
“playerFeeDeposit”: Number($w(“#playerFeeDeposit”).value),
“playerFeeDepositDate”: $w(“#playerFeeDepositDate”).value,
“playerFeePayment1”: Number($w(“#playerFeePayment1”).value),
“playerFeePayment1Date”: $w(“#playerFeePayment1Date”).value,
“playerFeePayment2”: Number($w(“#playerFeePayment2”).value),
“playerFeePayment2Date”: $w(“#playerFeePayment2Date”).value,
//“playerFeeBalance”: Number($w(“#teamBalanceOwing”).value),
“autumnCheckbox”: $w(“#acadCheckboxAutumn”).checked,
“springCheckbox”: $w(“#acadCheckboxSpring”).checked,
“summerCheckbox”: $w(“#acadCheckboxSummer”).checked,
};
if (updateDataset === “true”) {
console.log(“update about to save”);
wixData.save(“registration19-20”, toSave)
.then((results) => {
let item = results;
$w(“#successText”).show();
console.log(“saved to 2019”);
return wixData.update(“Registration2018”, toUpdate)
.then((results18) => {
let item18 = results18;
console.log(“updated Registration18”);
wixLocation.to(“/registration-confirmation”);
})
.catch((err) => {
let errorMsg = err;
console.log(“error happened” + errorMsg);
$w(“#errorText”).show();
})
})
.catch((err) => {
let errorMsg = err;
console.log(“error happened” + errorMsg);
$w(“#errorText”).show();
})
} else {
$w(“#fieldsText”).show();
}
}

There is an earlier and still current template to this page that is excluded from the menu accessible from a link on the player registration page /new-player-registration

The only difference it starts as a blank form instead of a pre filled dynamic page

It has an identical button that writes to a database and takes you to the confirmation page - works fine on PC and mobile no issues

Tried pasting the button and code over to the problem page and simplifying the code to replicate the new player page (writing to save to one DB only before re direct) but nothing - failed