空であればinput
フィールドの境界線の色を変更するPHPとJavascriptで書かれた簡単なスクリプトがあります。入力が空であれば境界線の色は変化しません
以下のコードを使用して、境界線の色を変更すると、次のエラーが表示されていません:
Uncaught TypeError: Cannot read property 'style' of null
<?php
if(isset($_POST['submit'])) {
if(empty($_POST['username'])) {
echo'
<script>
document.getElementById("username").style.border = "1px solid red";
</script>
';
}
}
?>
<form method="post">
<input type="text" id="username" name="username">
<input type="submit" name="submit">
</form>
HTMLがロードされる前に、あなたのスクリプトが実行されています。 JavaScriptとHTMLの読み込み方法を読む –
@SterlingArcherああ、それが原因かもしれない。私はHTMLの前に実行するPHPが必要です...これは回避策はありますか? –
@SterlingArcher実際には、フォームが送信された後にコードが実行されます.HTMLが既に読み込まれているとは限りませんか? –