###前提
phpで仮会員登録を実施しています。
JSについて質問させてください。
phpファイルにてサブミットの前にJSでバリデーションをかけたいです。
ポップアップのようなアラートではなく、
指定した場所に。
test.php
1<?php 2session_start(); 3 4header("Content-type: text/html; charset=utf-8"); 5 6//クロスサイトリクエストフォージェリ(CSRF)対策 7$_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(32)); 8$token = $_SESSION['token']; 9 10//クリックジャッキング対策 11header('X-FRAME-OPTIONS: SAMEORIGIN'); 12 13?> 14 15<!DOCTYPE html> 16<html> 17<head> 18<title>【DB課題】仮会員登録</title> 19<meta charset="utf-8"> 20<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 21</head> 22<body> 23<h1>仮会員登録</h1> 24 25<form method="post" name="form1" action="registration_mail_check.php"> 26 27<p>メールアドレス 必須</p> 28 29 <dl class="clearfix"> 30 <dt><span class="req">必須</span>メールアドレス<br>(半角英数字)</dt> 31 <dd> 32 <input type="text" id="mail" name="mail_address"> 33 <span id="mail_error" class="error_m"></span> 34 35 36 37<p><input type="hidden" name="token" value="<?=$token?>"></p> 38<input type="submit" value="登録する" onclick="return checkForm();"> 39 40 41<script type="text/javascript"> 42 43function input_check(){ 44 var result = true; 45 46$('#mailad').removeClass("inp_error"); 47 48$("#mail_error").empty(); 49 50var mail = $("#mail").val(); 51 52 53if(mail == ""){ 54 $("#mail_error").php("<i class='fa fa-exclamation-circle'></i> メールアドレスは必須です。"); 55 $("#mail").addClass("inp_error"); 56 result = false; 57 }else if(!mail.match(/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9._-]+)+$/)){ 58 $('#mail_error').php("<i class='fa fa-exclamation-circle'></i> 正しいメールアドレスを入力してください。"); 59 $("#mail").addClass("inp_error"); 60 result = false; 61 }else if(mail.length > 255){ 62 $('#mail_error').php("<i class='fa fa-exclamation-circle'></i> 正しいメールアドレスを入力してください。"); 63 $("#mail").addClass("inp_error"); 64 result = false; 65 } 66 return result; 67 } 68} 69</script> 70 71</form> 72 73 74</body> 75</html>
###疑問点
すみませんJSが効かずに、サブミットされてしまいます。
どこの部分を修正すれば宜しいでしょうか?
回答3件
あなたの回答
tips
プレビュー