Javascript无法从HTML表单调用

时间:2013-02-25 19:09:51

标签: javascript html

我有一个简单的html页面,它调用了一个Javascript函数..

由于某种原因,没有调用JS函数

<html>
    <body>
        function validateForm()
        {
            alter("Validate form")
            var x=document.forms["myForm"]["fname"].value;
            if (x==null || x=="")
            {
                alert("First name must be filled out");
            }
        <form name="myForm" onsubmit="validateForm()">
            First name: <input type="text" name="fname">
            <input type="submit" value="Submit">
        </form>

    </body>

最终的js功能..

<html>
    <head>
        <script type="text/javascript">
            function validateForm()
            {
                alter("Validate form")
                var x=document.forms["myForm"]["fname"].value;
                if (x==null || x=="")
                {
                    alert("First name must be filled out");

                }
            }
        </script>
        <body>
            <form name="myForm" onsubmit="validateForm()">
                First name: <input type="text" name="fname">
                <input type="submit" value="Submit">
            </form>

        </body>

3 个答案:

答案 0 :(得分:4)

javascript函数需要放在script标记中。如下:

<head>
    <script type="text/javascript">
        function validateForm() {
            alert("Validate form");
            var x = document.forms["myForm"]["fname"].value;
            if (x == null || x == "") {
                alert("First name must be filled out");
                return false;
            }
        }
    </script>
</head>
<body>
    <form name="myForm" onsubmit="return validateForm();">First name:
        <input type="text" name="fname">
        <input type="submit" value="Submit">
    </form>
</body>

修改

工作小提琴link

答案 1 :(得分:2)

您必须将JavaScript包装在脚本标记中,第一次拼写错误并且函数结束}

<script>
function validateForm()
    {
    alert("Validate form")
    var x=document.forms["myForm"]["fname"].value;
    if (x==null || x=="")
      {
      alert("First name must be filled out");

      }
}
</script>

答案 2 :(得分:2)

该函数需要包含在<script>标记中,并且在脚本末尾缺少大括号。 “警报”拼写错误。

function validateForm()
{
alert("Validate form") // alert spelt wrong
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
  {
  alert("First name must be filled out");

  }
} // newly added brace