我使用jQuery mobile
主题和jQuery validate plugin
进行验证。插件的行为是不可预料的。第一眼看到我的html代码jQuery验证插件意外工作
<ul data-role="listview" data-inset="true" id="updatepage">
<form method="POST" action="/update-account-info" accept-charset="UTF-8" data-ajax="false" id="updateUser">
<div data-role="content">
<li data-role="fieldcontain">
<input required="required" class="slide1el" id="first_name" data-clear-btn="true" placeholder="First Name" name="first_name" type="text" value="Awais">
<div class="error-wrapper"></div>
</li>
<li data-role="fieldcontain">
<input class="slide1el" id="last_name" data-clear-btn="true" placeholder="Last Name" name="last_name" type="text" value="Qarni">
<div class="error-wrapper"></div>
</li>
<li data-role="fieldcontain">
<input class="slide1el" id="website" data-clear-btn="true" placeholder="Website URL" name="website" type="text">
<div class="error-wrapper"></div>
</li>
<div>
<div class="ui-block-a"><button type="button" data-theme="a">Cancel</button></div>
<div class="ui-block-b"><button type="submit" data-theme="a">Submit</button></div>
</div>
</div>
</form>
</ul>
这里是我的javascrip
代码
我目前在做什么,当用户提交表单,我尝试验证的形式。如果输入字段为空,请在该字段中添加一个红色边框,并以div class=error-wrapper
的格式显示自定义错误消息。
但是,当我提交错误按钮,它只创建它在DOM中找到的第一个空字段的焦点。当我点击DOM中的任何地方时,它会显示错误类并突出显示文本框。我在萤火虫中看到它,当我点击提交按钮时,它将一个ui-focus
类添加到空元素。当我点击DOM中的任何地方时,ui-focus
类会自动删除,并添加我的错误类。
我甚至试图删除ui-focus
类,但它不起作用。请引导我,我做错了什么?
每个文本框有我想在错误的情况下高亮包装div。这就是我使用这个的原因。 –
嗯,好的 - 在这种情况下,你可以在你的'unighighlight'课中摆脱2-3行,不需要自己管理它,它会被照顾。 – Ryley
我认为在这种情况下,你根本不需要'focus *'选项?无论哪种方式,它工作正常:http://jsfiddle.net/ryleyb/DC5Sz/3/ – Ryley