我想突出显示数组中收到的输入列表,并将焦点放在第一个。
<head>
<script type='text/javascript' src='app.js'></script>
</head>
<body>
...
<script>showErrors(['firstName', 'lastName'])</script>
</body>
在app.js中,我输入了以下javascript代码:
function showErrors($fields)
{
$fields.forEach(function($field){
console.log($field);
$('#'+$field).addClass('error-custom');
$('#'+$field).css('border', 'red solid 2px');
});
//set focus to first field
if($fields.length > 0)
{
$('#'+$fields[0]).focus();
}
}
JS代码在页面呈现之前执行。
我试图把函数showErrors放到$(document).ready(function(){...}
但它仍然没有效果。
我应该在哪里放置代码,以便在呈现页面后我可以申请?
答案 0 :(得分:1)
看起来它适用于$(document).ready(function(){} ...不知道你为什么要预先挂起$你的字段变量虽然它什么都不做这不是php;)< / p>
function showErrors($fields)
{
$fields.forEach(function($field){
console.log($field);
$('#'+$field).addClass('error-custom');
$('#'+$field).css('border', 'red solid 2px');
});
//set focus to first field
if($fields.length > 0)
{
$('#'+$fields[0]).focus();
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
<script type='text/javascript' src='app.js'></script>
</head>
<body>
<input type="text" id="firstName"/>
<input type="text" id="lastName" />
<script>$(document).ready(function(){showErrors(['firstName', 'lastName']);});</script>
</body>
答案 1 :(得分:0)
我的错误是我在渲染之后的输入字段之前调用了javascript函数showError。
我只是在页面末尾移动了电话。