So I have a very basic assignment to finish and it it is to help us learn some very basic javascript. We have to make a form and when you click a button it preforms a javascript function. I can not figure out why it won't complete the function. Can someone troubleshoot my code?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Order Page</title> </head> <body> <form> <label>First Name:<input type="text" id="fname" size="30" /><br><br> <label>Last Name:<input type="text" id="lname" size="30" /><br><br> <label>Number of Widgets:<input type="text" id="num" size="4" /><br><br> <button onclick="myFunction()">Send</button> </form> <script> function myFunction() { var fname; var lname; var num; lname = document.getElementById("lname").value; fname = document.getElementById("fname").value; num = document.getElementById("num").value; alert("Thanks," + " " + fname + " " + lname + "for ordering" + num + " " + Widgets) } </script> </body> </html>
You should put quote around Widget like so:
alert("Thanks," + " " + fname + " " + lname + "for ordering" + num + " " + "Widgets");
Also you may want to put ';' at the end too.
Quick tip for you, you can catch this error easily by open a Dev-Console
In Google Chrome Press [Ctrl+Shift+J] you will see the error show up.
Hope this helps.
Trial again with this code!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<title>Order Page</title>
<script type="text/javascript">
function myFunction() {
var fname;
var lname;
var num;
lname = document.getElementById("lname").value;
fname = document.getElementById("fname").value;
num = document.getElementById("num").value;
alert("Thanks, " + fname + " " + lname + "for ordering" + num + " " + "Widgets")
}
</script>
</head>
<body>
<form action="" name="from">
<label>First Name:<input type="text" id="fname" size="30" /><br><br>
<label>Last Name:<input type="text" id="lname" size="30" /><br><br>
<label>Number of Widgets:<input type="text" id="num" size="4" /><br><br>
<input type="button" onclick="myFunction()" value="Trial" />
</form>
</body>
</html>
Have you tried:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>Order Page</title> </head> <body> <form> <label>First Name:</label><input type="text" id="fname" size="30" /><br><br> <label>Last Name:</label><input type="text" id="lname" size="30" /><br><br> <label>Number of Widgets:</label><input type="text" id="num" size="4" /><br><br> <input type="button" onclick="myFunction()" value="Send" /> </form> <script> function myFunction() { var fname; var lname; var num; lname = document.getElementById("lname").value; fname = document.getElementById("fname").value; num = document.getElementById("num").value; alert("Thanks," + " " + fname + " " + lname + "for ordering" + num + " Widgets"); document.document.getElementsByTagName("form")[0].submit(); } </script> </body> </html>
You defined Widgets as variable but it is suppose to be a string.
function myFunction() {
var fname;
var lname;
var num;
lname = document.getElementById("lname").value;
fname = document.getElementById("fname").value;
num = document.getElementById("num").value;
alert("Thanks, "+fname + " " + lname + " for ordering " + num + " Widgets ")
}
Also you didnt mentioned the button
type, so have added it.
<form>
<label>First Name:<input type="text" id="fname" size="30" /><br><br>
<label>Last Name:<input type="text" id="lname" size="30" /><br><br>
<label>Number of Widgets:<input type="text" id="num" size="4" /><br><br>
<button onclick="myFunction()" type ="button">Send</button>
</form>
Please check this JSFIDDLE for demo. Hope this is useful
var btn = document.getElementById("btn"); btn.onclick = function() { var fname; var lname; var num; lname = document.getElementById("lname").value; fname = document.getElementById("fname").value; num = document.getElementById("num").value; alert("Thanks, " + fname + " " + lname + "for ordering" + num + " " + "Widgets") };
<form onsubmit="return false;"> <label>First Name:<input type="text" id="fname" size="30" /> <br/><br/> <label>Last Name:<input type="text" id="lname" size="30" /> <br/><br/> <label>Number of Widgets:<input type="text" id="num" size="4" /> <br/><br/> <button id="btn">Send</button> </form>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.