JavaScript の条件分岐?について
メールフォーム内でドロップダウンメニューを使用しており
確認/修正等でフォーム画面に戻った時に選択されていた項目が
保持されるような設定で以下のような HTML 及び JavaScript を記述してます。
( 実際には HTML 内で部分的に php echo を使用しております )
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>テスト</title>
</head>
<body>
/*
****************************************************************
確認/修正等でフォーム画面に戻った時に入力した情報が消えない設定
ドロップダウンリスト用
****************************************************************
*/
function MenuValue($v,$r)
{
if(!empty($_POST[$v]))
{
if($_POST[$v] == $r){
return " selected='selected'";
}
}
}
<pre>
お問い合わせ内容のカテゴリ
<select name="menu" id="menu">
<option value="未選択" selected>▼選択して下さい</option>
<option value="ミカン">ミカン</option>
<option value="リンゴ">リンゴ</option>
<option value="イチゴ">イチゴ</option>
<option value="バナナ">バナナ</option>
<option value="その他">その他</option>
</select>
</pre>
</body>
</html>
上記ソースでブラウザ上で動作テストしますと
ドロップダウンリスト内の項目を何も選択しなかった場合
FireFox Validator
では
【 エラー: duplicate specification of attribute "SELECTED" 】
となってしまいます。
その時ブラウザ上で表示されてるページの HTML ソースを確認すると・・・
<pre>
お問い合わせ内容のカテゴリ
<select name="menu" id="menu">
<option value="未選択" selected selected='selected'>▼選択して下さい</option>
<option value="ミカン">ミカン</option>
<option value="リンゴ">リンゴ</option>
<option value="イチゴ">イチゴ</option>
<option value="バナナ">バナナ</option>
<option value="その他">その他</option>
</select>
</pre>
となっております。
未選択以外の項目を選択した場合はエラーは出ません。
なので Select属性 を外してみると
FireFox Validator
でのエラーは解消されますが
Another HTML-lint gateway
では
【 どの <OPTION> にも SELECTED属性 が指定されていません 】
と言われてしまうので SELECTED属性 は外したくありませんし・・・
前出の JavaScript の条件付けを色々と変更して試してますが当方
JavaScript はあまり詳しくないのでどなたかご教授頂ければと思い
質問投稿させて頂きました。
どなたかご回答よろしくお願い致します。
お礼
質問内容が不明瞭だったにもかかわらず適切な回答をいただきありがとうございます(o*^▽^)oペコッ ゜・:,。★\('ー'*)♪感謝♪(*'ー')/★,。・:・゜