在Javascript中验证表单

时间:2013-05-17 21:17:51

标签: javascript html forms validation action

我的订单表格有问题。我需要验证一些字段,复选框,下拉列表和产品数量。所以我刚开始使用复选框。 它必须看起来像:如果我选中该框,但没有指定产品的数量,它弹出一个javascript警告,告诉我指定我想从该产品订购多少。如果我不检查复选框,它的开始提醒我。其次,我需要验证卡号:只有数字和20个字符 - 每4位数后。 刚刚完成复选框验证,但甚至无法完成数量验证和卡号,卡类型验证。

<!doctype html>
<html>
<head>
<meta charset="iso-8859-2">
<title>Order</title>

<script language="javascript">
function validateFunction() {
var fo = document.cardform;
if (!fo.field1.checked && !fo.field2.checked && !fo.field3.checked) {
      alert("Must choose at least one thing to buy");
      return false;
}
return true;
}
</script>

</head>

<body>
    <h2>
        <strong>
            Order
        </strong>
    </h2>
    <form name="cardform" action="" onsubmit="return validateFunction();">
    Name: <input type="text" name="name" size="40px" required> </br>
    Adress: <input type="text" name="adress" size="40px" required> </br>
    Card Type: <select name="card" form="cardform" required>
                    <option value="choose" selected>Please Choose</option>
                    <option value="visa">Visa</option>
                    <option value="americanexpress">American Express</option>
                    <option value="mastercard">Master Card</option>
                    <option value="maestro">Maestro</option>
</select>
    Cardnumber: <input type="number" name="cardnumber" required> </br>
    <table border="1px">
        <tr>
            <td>
            name:
            </td>
            <td>
            price:
            </td>
            <td>
            q:
            </td>
        </tr>
        <tr>
            <td>
            <input type="checkbox" name="field1">1
            </td>
            <td>
            13
            </td>
            <td>
            <input type="text" name="1q">
            </td>
        </tr>
        <tr>
            <td>
            <input type="checkbox" name="field2">2
            </td>
            <td>
            133
            </td>
            <td>
            <input type="text" name="2q">
            </td>
        </tr>
        <tr>
            <td>
            <input type="checkbox" name="field3">3
            </td>
            <td>
            1337
            </td>
            <td>
            <input type="text" name="3q">
            </td>
        </tr>
    </table>    
    Comment: </br>
    <textarea name="comments" cols="25" rows="5"> Comment here </textarea> </br>
        <input type="submit" value="Submit">
        <input type="reset" value="Reset">
    </form>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

有点不清楚你究竟在问什么,但听起来你正在寻找关于表格验证的一些一般性建议。

我建议使用jQuery,然后使用jQuery Validate

查看文档和大量示例here

基本上它允许你做的是使用告诉jQuery的属性来装饰HTML标签验证应该如何验证该标签,无论是复选框还是输入字段。

答案 1 :(得分:0)

在我看来“字段有一些必需的属性”如果字段为空则它会中止下一级(我的意思是你的警报信息)。尝试删除必需的属性,并使用js / jquery为剩余的字段写入验证。希望它有效。