The prefill option of Lock will set the value for both the signin and signup fields. This simple example should do the trick:
<!doctype html>
<html>
<head>
<script src="https://cdn.auth0.com/js/lock/11.2.2/lock.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<script>
window.addEventListener('load', function() {
var AUTH0_DOMAIN = "{{YOUR_AUTH0_DOMAIN}}";
var AUTH0_CLIENT_ID = "{{YOUR_SPA_CLIENT_ID}}";
var options = {
oidcConformant: true,
prefill: {
email: "someone@auth0.com"
}
};
var lock = new Auth0Lock(AUTH0_CLIENT_ID, AUTH0_DOMAIN, options);
document.getElementById('login_button').addEventListener('click', function() {
lock.show();
});
lock.on("authenticated", function(authResult) {
(...)
});
});
</script>
</head>
<body>
<button id="login_button">Log In</button>
</body>
</html>
If this simple script does not show you the email prefilled in both the signin and signup fields, you can check your console log for any errors. Another option is to try it in other browsers to see if the behaviour remains.