JavaScript初心者です
名前と内容のフォームにそれぞれ異なる字数の条件を付けて条件が満たされなければアラート表示という処理をしたくて調べたコードを元に下記コードを書いてみたんですが、ブラウザ表示しただけで勝手に投稿されるという謎の動作が行われます
何故そうなってるのかというのと、条件式がどう間違ってるのか教えていただけますか
HTML
1<html> 2 <head> 3 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 4 <script type="text/javascript"> 5 function check() { 6 var form = document.getElementById("vl"); 7 word=0; 8 for(word<10; word++) { 9 if ((form.elements[word].id=="vl") && (form.elements[word].value=="") { 10 alert("ERROR"); 11 return false; 12 } 13 } 14 form.submit(); 15 } 16 </script> 17 </head> 18 <body> 19 <form method="post" action="" name="form" onSubmit="return check(this.name.value, this.comment.value)"> 20 <table> 21 <tr> 22 <td> 23 名前:<input type="text" name="name" id="vl"> 24 内容:<textarea name="comment" cols="30" rows="3" id="vl"></textarea> 25 <input type="radio" name="bbs" value="post" checked>投稿 26 <input type="radio" name="bbs" value="update">更新 27 <input type="radio" name="bbs" value="delete">削除 28 <input type="submit" value="投稿" onclick="check()"> 29 </td> 30 </tr> 31 </table> 32 33<?php 34 while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 35?> 36 37 <table> 38 <input type="checkbox" name="chkid[]" value="<?=$row['id'] ?>"> 39 <tr> 40 <td>名前: 41 <?php echo $row['name'] ?> 42 </td> 43 </tr> 44 <tr> 45 <td>内容: 46 <?php echo $row['comment'] ?> 47 </td> 48 </tr> 49 </table> 50 51<?php 52 } 53 mysqli_free_result($result); 54 55 mysqli_close($link); 56?> 57 58 </form> 59 </body> 60</html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/19 05:53
2016/08/19 06:21
2016/08/19 06:56
2016/08/19 07:13
2016/08/19 07:14
2016/08/19 07:21
2016/08/19 07:41
2016/08/19 08:05
2016/08/19 08:12