简体   繁体   中英

HTML and Javascript: Form won't submit.

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM