アプリ版:「スタンプのみでお礼する」機能のリリースについて

java scriptについて質問です。

ホームページ内のプルダウンメニューで、項目が選択されていない状態で「submit」ボタンが押された場合、「~を選択してください」というメッセージを表示させたいと思います。

そこで以下のようなfunction validateFormを書いたのですが、alertがIEでは表示されるのにfirefoxでは表示されません。

function validateForm() {

if (document.form1.Prop1.options.value == 'Error') {
alert('Please select aaa.')
document.form1.Prop1.focus()
return false
}

if (document.form1.Prop2.options.value == 'Error') {
alert('Please select bbb.')
document.form1.Prop2.focus()
return false
}

if (document.form1.Prop3.options.value == 'Error') {
alert('Please select ccc.')
document.form1.Prop3.focus()
return false
}

if (document.form1.Prop4.options.value == 'Error') {
alert('Please select ddd.')
document.form1.Prop4.focus()
return false
}

if (document.form1.Prop5.options.value == 'Error') {
alert('Please select eee.')
document.form1.Prop5.focus()
return false
}

}

firefoxでもalertを表示させるには、どのようにすればいいでしょうか?
教えてくださいませ。よろしくお願いします。

A 回答 (2件)

こんな感じで



<script language="javascript">
var list=new Object();
list.Prop1="aaa";
list.Prop2="bbb";
list.Prop3="ccc";
list.Prop4="ddd";
list.Prop5="eee";

function validateForm(f) {
for (var i=0;i<f.length;i++){
if(f[i].type=="select-one" && f[i].value=="Error"){
alert('Please select '+list[f[i].name]+'.')
f[i].focus()
return false
}
}
}
</script>
<form onSubmit="return validateForm(this)" action="javascript:alert('成功')">
aaa:
<select name="Prop1">
<option value="Error">せんたくして
<option value="1">データ1
<option value="2">データ2
<option value="3">データ3
</select><br>
bbb:
<select name="Prop2">
<option value="Error">せんたくして
<option value="1">データ1
<option value="2">データ2
<option value="3">データ3
</select><br>
ccc:
<select name="Prop3">
<option value="Error">せんたくして
<option value="1">データ1
<option value="2">データ2
<option value="3">データ3
</select><br>
ddd:
<select name="Prop4">
<option value="Error">せんたくして
<option value="1">データ1
<option value="2">データ2
<option value="3">データ3
</select><br>
eee:
<select name="Prop5">
<option value="Error">せんたくして
<option value="1">データ1
<option value="2">データ2
<option value="3">データ3
</select><br>
<input type=submit value="送信">
</form>
    • good
    • 0
この回答へのお礼

yambejpさんのスクリプトで、IEでもFirefoxでも問題なく動くようになりました。

ありがとうございました!

お礼日時:2006/05/16 04:01

optionsは配列なのでIEでも動かないような気がしますが


下記のフォームなら

<form name="form1" method="post" onSubmit="validateForm();">
<select name="Prop1">
<option value="Error">---
<option value="1">1
<option value="2">2
<option value="3">3
</select>
<input type="submit">
</form>

var i=document.form1.Prop1.selectedIndex;
if (document.form1.Prop1.options[i].value == 'Error') {
とするか単純に
if (document.form1.Prop1.value == 'Error') {
とすればどうでしょうか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!