配列で受け取った入力のリストを強調表示し、最初にフォーカスを移したいとします。 app.jsでJavaScriptを使用してエラーを表示します。
<head>
<script type='text/javascript' src='app.js'></script>
</head>
<body>
...
<script>showErrors(['firstName', 'lastName'])</script>
</body>
、私は、次の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(){...}
に入れようとしましたが、それでも効果はありませんでした。
ページのレンダリング後に適用できるように、コードを配置する必要はありますか?
ページが表示されていないコードで動的に「ビルド」されている場合は、それ以降に行います。そうでなければ '$(document).ready(function {)your code here ...} ) 'は –
を実行するのに適しているはずです。要素に' error-custom'クラスがある場合にのみ、その境界線を表示する必要がある場合は、cssに境界線を追加することを検討してください。 –
あなたは "app.js"と言います...あなたはjQuery以外のフレームワークを使っていますか?あなたのHTMLでjQueryが参照されることもありません。多くの人がそのステップを忘れています。 –