バリデーションエラーでも入力値を残そう(6-31)
現状の課題
バリデーションエラーになると入力してた内容が消える
エラーが起きても他の入力は消えないようにしたい
フォームの入力値を残すには
inputタグのvalue属性を使おう
value属性
input属性の値を指定する属性
テキスト入力欄などにおいては初期入力値を表す
そもそもなぜ消える?
入力後新しいHTMLファイルを読み込むからまっさらになる
じゃあどうすればいい?
入力した値を次のフォームの初期値を設定しておけばいい
例)
<input type="text" id="name" name="name" value="<?php echo $company['name'] ?>">
ラジオボタンの初期値の設定にはchecked属性を使おう
checked属性を付けると初期値で選択された状態になる
男性が最初から選択された状態になる
<input type="radio" name="sex" id="sex1" value="男性" checked>
<label for="sex1">男性</label>
$user['sex']が[男性]の時に最初から選択する(三項演算子)
<input type="radio" name="sex" id="sex1" value="男性"
<?php echo ($user['sex'] === '男性') ? 'checked' : ''; ?>>
<label for="sex1">男性</label>
条件式を一行で書きたい時は三項演算子
(比較条件)?(値1) : (値2)
これと一緒
if(比較条件){
値1
}else{
値2
}