提交表单时,返回false无效。

7
当我提交表单时,会收到一个警告信息。当我接受警告后,它仍然会提交表单。返回false被忽略。 不能使用onclick事件。我尝试了var x = document.forms["form"]["fname"].value;,但仍然是一样的。
<form id="f" method="post" name="form" onsubmit="return validateForm();" action="#">
    <input type="text" name="fname" id="test" />
    <input type="submit" value="submit"/>
</form>
<script type="text/javascript">
        function validateForm() {
            var x = document.getElementById('test').value;
            if (x == null || x == 0 || x == "0") {
                alert("Stop");
                return false;
            }
        }
    </script>

3
它运行良好,请检查您的浏览器控制台是否有任何错误。请尝试访问http://jsfiddle.net/arunpjohny/KJyF8/1。 - Arun P Johny
您的表单没有错误。它已经正常工作了。 - Saranya Sadhasivam
似乎在 jsfiddle 中包装 onload 是问题的关键..:(。但是再次说明,我们是正在尝试使用 jsfiddle.. - Roy M J
@RoyMJ:这在我的端上可以工作,但在jsfiddle上不行 :( 为什么回答会被踩呢 :( - plain jane
@Sonali:我没有给你的帖子点踩,只是评论说它没有起作用。 - Roy M J
显示剩余6条评论
2个回答

9

使用<input type="button" value="Submit" onclick='validateForm()'/>代替<input type="submit" value="submit"/>

在你的JS中:

<script type="text/javascript">
    function validateForm() {
        var x = document.getElementById('test').value;
        if (x == null || x == 0 || x == "0") {
            alert("Stop");
        }
        else
            document.form.submit();
    }
</script>

问题说onclick不能使用。 - mechenbier
问题是为什么不使用 onclick ,以及要使用什么来代替 onclick - Aashray
点击按钮是可以的。但在表单上有问题,因为我有4个按钮。 - Nejc Galof
@NejcGalof,请为不同的主题提出不同的问题。 - Sergio

0
将此脚本放在 head 标签内并检查它。
<script type="text/javascript">
        function validateForm() {
            var x = document.getElementById('test').value;
            if (x == null || x == 0 || x == "0") {
                alert("Stop");
                return false;
            }
        }
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接