我有一个表单,我正在尝试对使用 jquery 进行一些基本验证。我有名称与输入名称相对应的空锚点。当第一个字段为空时,它存储输入的名称,当验证脚本完成时,它调用 window.location.hash = name + "hash",即空锚点的名称。问题是,它正在移动窗口,使锚点显示在屏幕的最顶部,我希望它移动窗口,使锚点显示在屏幕中间。这可能吗?这就是我所拥有的。
function formValidate()
{
var $retValue = true;
var $inputs = $('.req');
var $winLoc = '';
$inputs.each( function()
{
if($(this).val() === "" && this.name != "salesmanName2")
{
var $helper = this.name + "Help";
var $pointer = this.name + "Pointer";
event.preventDefault();
($(this).addClass('reqMissing'));
showHelper($helper, $pointer);
if($winLoc == '' && this.name != "salesmanName2")
{
$winLoc = this.name + "Anchor";
}
$retValue = false;
}
else
{
($(this).removeClass('reqMissing'));
}
});
if($winLoc !== '')
{
window.location.hash=$winLoc;
}
return $retValue;
}
这是表格的一个片段。
<li>
<a name="controlNumberAnchor"></a>
<label for='controlNumber'>Control Number: </label>
<input class='req' type='text' name='controlNumber' size='10' /><em>*</em>
<div id='controlNumberPointer' class='pointer'></div>
<div id='controlNumberHelp' class='helpBox'>Control number required</div>
</li>