-1

我有一个选择标签和 2 个输入字段。我想验证输入字段,但每次我按下“Godkend”按钮时,它都不会验证,甚至不会读取 javascript 函数。为什么会这样?

<div class="well">
    <div class="row-fluid">
        <div class="span3"> 
            <div class="input-holder">
                <select name="rest_id" form="carform">
                <?php foreach ($dropdownArray as $key):?>
                    <option placeholder="rest_id*" id="rest_id" name="rest_id" value="<?=$key['restid']; ?>"> <?= $key['restaurantnavn']; ?> </option>
                <?php endforeach;?>
                </select>
            </div>
        </div>

        <form name="myForm" action="" onsubmit="return validateForm()" id="carform">
            <div class="span3"> 
                <div class="input-holder">
                    <input type="text" class="form-input" id="membernumber" name="membernumber" autocomplete="off" placeholder="Medlems. Nr.*" value="">
                </div>
            </div>
            <div class="span3"> 
                <div class="input-holder">
                    <input type="text" class="form-input" id="subtotal" name="subtotal" autocomplete="off" placeholder="Beløb.*" value="">
                </div>
            </div>
            <div class="span3"> 
                <div class="input-holder">
                    <input type="submit" value="Godkend">
                </div>
            </div>
        </form>
    </div>
</div>

<script>
function validateForm()
{
    var field1=document.forms["myForm"]["membernumber"].value;
    var field2=document.forms["myForm"]["subtotal"].value;
    var myLength = $("#membernumber").val().length;

    if (field1==null || field1=="")
    {
        alert("something A");
        return false;
    }

    if (myLength < 8 || myLength > 8)
    {
        alert("something B");
        return false;
    }

    if (field2==null || field2=="")
    {
        alert("something C");
        return false;
    }
    else
    {
        alert("something D");
        return true;
    }
}
</script>
4

3 回答 3

2

请看看这个小提琴:http: //jsfiddle.net/rYrcY/

<script>
$(function(){
    $("#carform").on('submit', function(){
        var field1 = document.forms["myForm"]["membernumber"].value;
        var field2 = document.forms["myForm"]["subtotal"].value;
        var myLength = $("#membernumber").val().length;

        if (field1 == null || field1 == "") {
            alert("something A");
            return false;
        }

        if (myLength < 8 || myLength > 8) {
            alert("something B");
            return false;
        }


        if (field2 == null || field2 == "") {
            alert("something C");
            return false;
        } else {
            alert("something D");
            return true;
        }
    });
});
</script>
于 2013-06-26T08:23:43.797 回答
0

我一直在这里测试它,似乎工作。

检查您是否在headHTML 中添加脚本,并且在您的 javascript 包含之前有 Jquery 脚本。

<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="yourscript.js"></script>
</head>
于 2013-06-26T08:15:41.480 回答
0

我尝试了您的 html 代码,它确实读取了 js 函数。我怀疑您的 php 代码中存在某种错误,它破坏了浏览器的解析过程。请再次检查您的整个 html 并在需要时粘贴它。

于 2013-06-26T08:24:08.513 回答