What's wrong with my code? | SoloLearn: Learn to code for FREE!

+5

What's wrong with my code?

https://code.sololearn.com/WX292amp3V9x/?ref=app

9/25/2020 10:04:43 PM

KWASI NYARKO

32 Answers

New Answer

+15

Just do it this way <form onSubmit="checkAddress()"> Email: <input type="email" id="email"/> <input type="submit" value="Submit"/> </form> <script> let em=document.getElementById("email"); function checkAddress(){ if(em.value === ""){ alert("Email address is required"); } } </script> </body> </html> sololearn places script tag in head ,that might be causing the problem Also i never tried passing global id as a parameter to a function ,maybe you can't just do it that way

+5

checkaddress vs checkadress.. thats the issue...

+3

There is a "." After getElementById ,remove it and also there is no id like "fieldid " Edit: sorry didn't noticed there is email id which is passed to function Odyel ty

+3

This works as well ,you can pass id as a parameter ,the only problem was not passing it as a string but as a variable lol! <body> <form onSubmit="checkAddress('email')"> Email: <input type="email" id="email"/> <input type="submit" value="Submit"/> </form> <script> function checkAddress(email){ if ( document.getElementById(email).value === ""){ alert("Email address is required"); } } </script> </body>

+3

https://code.sololearn.com/WsHam2bJjSxt/?ref=app

+2

Abhay I don't know a lot about web dev, this is out of curiosity, isn't fieldId just the variable name that's holding the passed value "email"? Or is that just code etiquette

+2

KWASI NYARKO your JS for checkAddress is missing a d

+2

KWASI NYARKO One of the main reasons for your code not working was that your HTML form onSubmit event trigger called checkAddress(), but in the JS the function was mis-spelled checkAdress() - only one 'd'. Then fix for script running before HTML elements are loaded. I prefer to keep my JS in its own tab, rather than on the HTML which is why I'm showing you this solution. JS: let em; function checkAddress(){ if (em.value === ""){ alert("Email address is required"); } } window.onload = function() {em = document.getElementById("email")};

+1

KWASI NYARKO html, change the email's type to email not text

+1

Odyel thanks but alert message still doesn't show. 😒

+1

Not sure what else to say, works just fine for me https://www.sololearn.com/post/613843/?ref=app https://code.sololearn.com/We5U5YZCN0Oy/?ref=app

+1

I'm trying to write a code that will display a message when there are no texts and the submit button is clicked

+1

Man I wish I knew anything about JS, I don't know. Abhay could you give is a shot? Dunno a thing about web

+1

I'm not on here for follows, just answering questions. Don't think you can learn much from me; most of the stuff I know is OOP programming. And I only go on here to check recent questions, if you really want me to then sure. But it'll be superficial

+1

Thanks Abhay . It worked!! 💥🦸

+1

Thank you all

+1

https://code.sololearn.com/WgdfkOZJxwmC/?ref=app KWASI NYARKO here is the solution ....

+1

You have a name a function wrong In html it is check address And in jscripr it is adress

+1

Why not just use the simple HTML attribute "required" That's the commonest method Check this 👇 out https://code.sololearn.com/WgAQKj5K2w1v/?ref=app And the spelling of your "checkAddress" was also wrong in the JS code

0

Done. Thanks error cleared but the alert message doesn't show