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

今メールフォームを作っています。
チェックボックスにチェックしたら、テキストフィールドに記入しないと、
エラーがでる様にJavascriptでチェックをかけたいのですが教えて頂けませんでしょうか。

下記のようなフォームにしたいです。

■フォーム

これをあなたは何処で知りましたか?

チェックボックス1 新聞
チェックボックス2 テレビ
チェックボックス3 その他
テキストフィールド その他を選んだ方は記入して下さい。

このチェックボックスは必須にして、
チェックボックス1~3までのどれかをチェックしないとアラートを表示したいです。

また、チェックボックス3を選択したのにテキストフィールドに入力していない場合も
アラートを表示したいです。

上記のalertは送信ボタン<input name="submit" type="submit" value="情報を送信する">
を押した際に出したいです。

この様なチェックボックスのグループを同じフォームに2つ作りたいです。

A 回答 (3件)

・ 以下のコードを参考にしてみてください。



------------------------------------------------------------
<script type="text/javascript">
<!--
function checkRadio() {
var flag;
var f=document.getElementById('f1');

for (var j=1 ; j<=2 ; j++) {
flag = false;

var chbName = "chb" + j;
for (var i=0 ; i<f[chbName].length ; i++) {
if (f[chbName][i].checked) flag = true;
}
if (!flag) {
alert(chbName + ": エラー");
return false;
}
if (f[chbName][f[chbName].length-1].checked && f['other'+j].value.replace(/\s/g,"")=="") {
alert(chbName + ": その他エラー");
return false;
}
}
return true;
}
//-->
</script>

<form id="f1" action="">
<table border="border" cellpadding="5" align="center">
<tr>
<td><div style="background-color: #eee">これをあなたは何処で知りましたか?
</div>
<input type="checkbox" name="chb1" value="np">新聞<br>
<input type="checkbox" name="chb1" value="tel">テレビ<br>
<input type="checkbox" name="chb1" value="other">その他<br />
その他を選んだ方は記入して下さい。<br />
<input type="text" name="other1"></td>
</tr>
<tr>
<td><div style="background-color: #eee">これをあなたは何処で知りましたか2?
</div>
<input type="checkbox" name="chb2" value="ff">Firefox2<br>
<input type="checkbox" name="chb2" value="ie">IE2<br>
<input type="checkbox" name="chb2" value="other">その他2<br />
その他2を選んだ方は記入して下さい。<br />
<input type="text" name="other2"></td>
</tr>
<tr>
<td><input name="submit" type="submit" value="情報を送信する" onclick="return checkRadio();"></td>
</tr>
</table>
</form>
    • good
    • 0

この場合、新聞・テレビ・その他は同じグループなので、思い切って


同じ名前で管理してしまうという手があります。
そうすればこんな感じでチェックできるでしょう

<script>
function check(f){
var know=f.elements["know[]"];
var flg=false;
for(var i=0;i<know.length;i++){
if(know[i].checked){
flg=true;
break;
}
}
alert(flg)
}
</script>

<form>
<input type="checkbox" name="know[]" value="newspaper">新聞
<input type="checkbox" name="know[]" value="tv">テレビ
<input type="checkbox" name="know[]" value="other">その他
<input type="button" value="check" onclick="check(this.form)">
</form>
    • good
    • 0

タグの disabled 属性を操作したら良いんじゃない?


http://www.tohoho-web.com/html/input.htm
http://www.tohoho-web.com/js/form.htm
    • good
    • 0

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