我正在使用Position Absolute's Validation Engine验证表单上的值。
问题在于,在验证时,错误提示不会像预期的那样附加到文本框(输入类型:文本)。我知道问题在于我给文本框提供的margin-top但是我不能改变它。此处提供了示例代码段...
HTML:
<form id="frmTest" style="position:relative">
<div id="divContents" style="position:relative; overflow-y:auto; overflow-x:none;">
<div class="row1">
<span>FName:</span>
<input id="txtFName" data-prompt-position="bottomRight" class="validate[required] text-input" tabindex="1" />
</div>
<div class="row2">
<span>LName:</span>
<input id="txtLName" class="validate[required] text-input" tabindex="2" />
</div>
<div class="row3">
<span>Age:</span>
<input id="txtAge" class="validate[required, custom[integer],min[1]] text-input" tabindex="3" />
</div>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<input type="submit" id="btnSubmit" value="Submit" />
</form>
JS:
$('#frmTest').validationEngine();
$('#txtFName').focus();
$('#btnSubmit').click(function(){
return $('#frmTest').validationEngine();
});
我创建的div只是样本,但在实时环境中,它们是可折叠的div。此外,我不想为每个输入字段硬编码数据提示位置值,因为每个表单中有超过100个字段。所以我正在寻找一种处理这个问题的通用方法(我知道这可以通过CSS,但不知道如何?)
有问题的演示设置在www.x-lant.com
使用来宾 / pwd 登录该应用程序。
答案 0 :(得分:6)
我刚在js中使用了这段代码
$('#frmTest').validationEngine({promptPosition : "bottomRight"});
这在css中
.formError{margin-top: 15px!important;}
它看起来不错。 更新的小提琴是here。
我希望这会对你有所帮助。
<强> HTML 强>
<!DOCTYPE html>
<html>
<head>
<title>Demo</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<form id="frmTest" style="position:relative">
<div id="divContents" style="position:relative; overflow-y:auto; overflow-x:none;">
<div class="row1">
<span>FName:</span>
<input id="txtFName" data-prompt-position="bottomRight" class="validate[required] text-input" tabindex="1" />
</div>
<div class="row2">
<span>LName:</span>
<input id="txtLName" class="validate[required] text-input" tabindex="2" />
</div>
<div class="row3">
<span>Age:</span>
<input id="txtAge" class="validate[required, custom[integer],min[1]] text-input" tabindex="3" />
</div>
</div>
<input type="submit" id="btnSubmit" value="Submit" />
</form>
</body>
</html>
<强> CSS 强>
body
{
margin: 0 auto;
font-family: Arial;
font-size: 12px;
line-height: 20px;
}
div.row1, div.row2, div.row3
{
min-height: 100px;
}
span
{
clear: both;
float: left;
margin-left: 10px;
padding: 20px 5px 0 20px;
width: 50px;
}
#txtFName, #txtLName, #txtAge
{
margin-top: 20px;
}
input[type=text]
{
width: 150px;
}
.formError{
margin-top: 15px!important;
}
<强> JS 强>
$('#frmTest').validationEngine({promptPosition : "bottomRight", autoPositionUpdate: true});
$('#txtFName').focus();
$('#btnSubmit').click(function(){
return $('#frmTest').validationEngine();
});
此外,还有更多文档here。
答案 1 :(得分:0)
打开jquery.validationEngine.js
并转到
// LEAK GLOBAL OPTIONS
$.validationEngine = {
fieldIdCounter: 0, defaults: {
// topRight, bottomLeft, centerRight, bottomRight, inline
promptPosition: "topLeft",
设置您的位置