JQuery Mobile验证仅适用于第一个字段集

时间:2013-05-01 17:34:39

标签: html jquery-mobile

以下代码应该包含所有需要输入的字段,但是当我在Chrome版本26.0.1410.64 m中运行它时,按下提交按钮后,只有第一个字段(例如,名称)被标记为“此字段是必须的。”我在这里使用了示例:http://www.raymondcamden.com/demos/2012/jul/30/round2/register.html 保存html和他的本地javascript,示例代码正常工作,但“此字段是必需的”。是红色的。这有什么不对?请帮忙:(

<!DOCTYPE html> 
<html> 
<head> 
    <title>My Page</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
    <script src="jquery.validate.js"></script>
    <script>    
        $(document).on("pageshow", "#somePage", function() {
            $("#someForm").validate();
        });
    </script>
</head> 

<body> 
<div data-role="page" id="somePage">
    <div data-role="content">   
        <form id="someForm" method="get" action="">
            <fieldset>
                <label>Name</label>
                <input id="name" size="25" class="required"/>
            </fieldset>
            <fieldset>
                <label">E-Mail</label>
                <input id="email" size="25" class="required"/>
            </fieldset>
            <fieldset>
                <label">Your comment</label>
                <textarea id="comment" cols="22" class="required"></textarea>   
            </fieldset>         
            <input type="submit" value="Submit"/>   
        </form>
    </div> <!--content-->
</div>
</body>
</html> 

1 个答案:

答案 0 :(得分:0)

标签标签中有双引号,使您的HTML无效

<label">E-Mail</label>
      ^

在标签代码中使用for属性,在name s中使用input

这是说改变

<fieldset>
    <label>Name</label>
    <input id="name" size="25" class="required"/>
</fieldset>
<fieldset>
    <label">E-Mail</label>
    <input id="email" size="25" class="required"/>
</fieldset>
<fieldset>
    <label">Your comment</label>
    <textarea id="comment" cols="22" class="required"></textarea>   
</fieldset>

<fieldset>
    <label for="name">Name</label>
    <input name="name" id="name" size="25" class="required"/>
</fieldset>
<fieldset>
    <label for="email">E-Mail</label>
    <input name="email" id="email" size="25" class="required"/>
</fieldset>
<fieldset>
    <label for="comment">Your comment</label>
    <textarea name="comment" id="comment" cols="22" class="required"></textarea>   
</fieldset>  

以下是jsFiddle