私はこのJavascriptを持っていますが、うまくいきません。私はすでにJSlintをチェックしましたが、それはすべてうまくいくと言っていました。それでもうまくいきません。JavaScript は HTML にはありませんが、<head>
注:私はローカルサーバーで作業しているため、ページロードはすぐに完了します。
function changeVisibility() {
var a = document.getElementById('invisible');
a.style.display = 'block';
}
var changed = document.getElementById('click1');
changed.onchange = changeVisibility;
これは、対応する HTML です。
<input type="file" name="click[]" size="35" id="click1" />
<div id="invisible" style="display: none;">
<a href="javascript:addFileInput();">Attach another File</a>
</div>
入力をクリックし、ファイルを選択して承認します。次に、onchange イベントがトリガーされ、非表示の div のスタイルがブロックに設定されます。
問題は、次のエラーが発生し続けることです。
「変更は null です: changed.onchange = changeVisibility;」
私はそれを理解していません、私はここで見落としているものを真剣に理解していません。
編集:質問に答えました。Mercutio、そしてもちろん他の皆さんにも感謝します。最終的なコード:
function loadEvents() {
var changed = document.getElementById('click1');
var a = document.getElementById('invisible');
document.getElementById('addField').onclick = addFileInput;
changed.onchange = function() {
a.style.display = 'block';
}
}
if (document.getElementById) window.onload = loadEvents;
これは、対応する HTML です。
<input type="file" name="click[]" size="35" id="click1" />
<div id="invisible" style="display: none;">
<a href="#">Attach another File</a>
</div>
また、JSbinへのリンクをありがとう、それについて知りませんでした。