$(document).ready(function(){ $("#conf_button").click(function(){ //alert("--"); var action_url="form/form_conf.php"; var alert_com=""; var val1=""; var this_attr_name=""; //var i=0; var post_data = ""; $(this.form).find(':input').each(function() { switch (this.type) { case 'password': break; case 'select-multiple': break; case 'select-one': //alert("種類:select "+"値:"+$(this).val()+" クラス:"+$(this).attr("class")+" name:"+$(this).attr("name")); if($(this).hasClass("hissu")){ if($(this).val()==""){ alert_com+=$(this).attr("name")+"が選択されていません。\n"; } } post_data+=encodeURI($(this).attr("name"))+"="+encodeURI($(this).val())+"&"; break; case 'text': //alert("種類:text "+"値:"+$(this).val()+" クラス:"+$(this).attr("class")+" name:"+$(this).attr("name")); if($(this).hasClass("hissu")){ if($(this).val()=="undefined"){ alert_com+=$(this).attr("name")+"が入力されていません。\n"; } if($(this).val()==""){ alert_com+=$(this).attr("name")+"が入力されていません。\n"; } } post_data+=encodeURI($(this).attr("name"))+"="+encodeURI($(this).val())+"&"; break; case 'textarea': //$(this).val(''); //break; if($(this).hasClass("hissu")){ if($(this).val()=="undefined"){ alert_com+=$(this).attr("name")+"が入力されていません。\n"; } if($(this).val()==""){ alert_com+=$(this).attr("name")+"が入力されていません。\n"; } } post_data+=encodeURI($(this).attr("name"))+"="+encodeURI($(this).val())+"&"; break; case 'checkbox': /** //alert("種類:checkbox "+"値:"+$(this).val()+" クラス:"+$(this).attr("class")+" name:"+$(this).attr("name")); if($(this).attr("class")=="hissu"){ if($(this).val()==""){ alert_com+=$(this).attr("name")+"が入力されていません。\n"; } } **/ break; case 'radio': var radio_stat=$("input[name='"+$(this).attr("name")+"']:checked").val(); //alert($(this).val()+":-------------"+radio_stat); if($(this).hasClass("hissu")){ if(this_attr_name==$(this).attr("name")){ return true; }else{ //var attr_name=$(this).attr("name"); val1+=$("input[name='"+$(this).attr("name")+"']:checked").val(); this_attr_name=$(this).attr("name"); } if(val1=="undefined"){ alert_com+=this_attr_name+"が選択されていません\n"; }else{ //post_data+=encodeURI($(this).attr("name"))+"="+encodeURI($(this).val())+"&"; } //alert(val1); // alert(chkval); /* if($(this).attr('checked')){ }else{ alert_com+=$(this).attr("name")+"がチェックされていません。\n"; } */ } post_data+=encodeURI($(this).attr("name"))+"="+encodeURI(radio_stat)+"&"; //alert("種類:radio "+"値:"+$(this).val()+" クラス:"+$(this).attr("class")+" name:"+$(this).attr("name")); //this.checked = false; break; case 'hidden': break; } }); if(alert_com!=""){ //---必須が選択されていない alert(alert_com); }else{ //---必須チェックOK $('#inq').hide("1000"); $("#result").show("1000"); $(".article_01").hide(); $(".article_02").hide(); post_datas(action_url,post_data); } //alert(val1); }); }); function post_datas(action_url,post_data){ // $(".inner_contents").fadeOut("5000"); //alert("POST======="+post_data); //---下記submitではページが変わってしまうので、jquery でpostして、load()か何かでページの要素書き換えするよう変更 $("#result").empty(); $.post( action_url, post_data, function(data,textStatus){ if(textStatus=="success"){ //alert("Success!"); } $("#result").html(data); }, "html" ); // $(".inner_contents").fadeIn("5000"); $(".flow img").attr("src", "img/process_2.gif"); } function radio_chk_val(attr_name){ var val=""; val=$("input[name='"+attr_name+"']:checked").val(); alert(val); return val; } // [送信]ボタンをクリック時の処理を定義 function send() { $('#result').show("1000"); $('#inq').show("1000"); //---ラジオ、チェック以外の必須確認 var chked=chkHissu(document.getElementById('mailform')); if(!chked){ return; } //---どれかがチェックされているかの確認と、チェックされていたらvalをchkvalに格納 var chkval=""; var chknum=0; for(i=0;i<100;i++){ var chkflg=$('#kind'+i+'').attr('checked'); if(chkflg){ chknum++; //alert("chek"+i); chkval+="□"+$('#kind'+i+'').val()+",\n"; } } //---上記チェックが必須だったら、下記を生かす if(chknum==0){ alert("お問い合わせ内容がチェックされていません"); return; } /* if(!$('#send_confirm').attr('checked')){ alert("送信確認がチェックされていません"); return; } */ /**** if($('#mail').val()!=$('#mail_conf').val()){ alert("メールアドレスが一致しません"); return; } ****/ var mail_perm=$('#mail_permit').attr('checked'); if(mail_perm=="checked"){ var mail_perm_flg=1; }else{ var mail_perm_flg=0; } //alert(mail_perm_flg); var err; if(err=dataChk()){ alert(err); return; } $('#inq').hide("1000"); //alert(); //data_set(); /***** // 非同期通信を行うためのXMLHttpRequestオブジェクトを生成 try { xmlReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { xmlReq = new XMLHttpRequest(); } ****/ xmlReq = createHttpRequest(); // サーバーからの応答時の処理を定義(結果のページへの反映) xmlReq.onreadystatechange = function() { var msg = document.getElementById("result"); if (xmlReq.readyState == 4) { if (xmlReq.status == 200) { msg.innerHTML = xmlReq.responseText; } else { msg.innerHTML = "通信に失敗しました。"; } } else { msg.innerHTML = "通信中…"; } } //alert($('#name').val()); var post_data = "name=" + encodeURI(document.getElementById('name').value); post_data += "&kana=" + encodeURI(document.getElementById('kana').value); post_data += "&mail=" + encodeURI(document.getElementById('mail').value); post_data += "&tel=" + encodeURI(document.getElementById('tel').value); post_data += "&kind="+encodeURI(chkval); post_data += "&mail_permit="+ encodeURI(mail_perm_flg); post_data += "&comment=" + encodeURI(document.getElementById('comment').value); //alert(post_data); // サーバーとの通信を開始 xmlReq.open("POST","form/form.php",false); // xmlReq.open("POST","form/form_conf.php",false); // xmlReq.send(null); xmlReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); xmlReq.send(post_data); } /** http://phpjavascriptroom.com/exp.php?f=include/js/formcheck/chkHissu.inc&ttl=%E5%BF%85%E9%A0%88%E9%A0%85%E7%9B%AE%E5%85%A5%E5%8A%9B%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF * [関数名] chkHissu * [機 能] 必須項目入力チェック * [説 明] フォーム送信時に必須項目が全て入力されているか調べる * [引 数] * @param frm フォームオブジェクト * [返り値] * @return true(必須項目が全て入力されている場合) | false(未入力がある場合) */ var frm; function chkHissu(frm){ //alert(frm); /* 必須入力のname属性 */ var hissu=Array("name","mail","mail_conf","comment"); /* アラート表示用 */ var hissu_nm = Array("お名前","メールアドレス","メールアドレス確認","コメント"); /* 必須入力の数 */ var len=hissu.length; for(i=0; i"; } } //XMLHttpRequestオブジェクト生成 function createHttpRequest(){ //Win ie用 if(window.ActiveXObject){ try { //MSXML2以降用 return new ActiveXObject("Msxml2.XMLHTTP") //[1]' } catch (e) { try { //旧MSXML用 return new ActiveXObject("Microsoft.XMLHTTP") //[1]' } catch (e2) { return null } } } else if(window.XMLHttpRequest){ //Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用 return new XMLHttpRequest() //[1]' } else { return null } } function dataChk(){ var error=""; //--メールアドレスのチェック //var mail_addr=document.getElementById("mail").value; var mail_addr=$('#mail').val(); var mail_addr2=$('#mail_conf').val(); if(mail_addr!=mail_addr2){ //var error="メールアドレスが一致しません。"; var error="1="+mail_addr+" 2="+mail_addr2+"メールアドレスが一致しません。"; } else if(!madd_chk(mail_addr)){ error+="メールアドレスの形式が不正です。"; } /* var tel=$('#tel').val(); if(!isNum(tel)){ error+="電話番号が半角数値になっていません。"; } */ return error; } /** * [関数名] isNum * [機 能] 数値チェック(文字コードでチェック) * [説 明] 数値(0-9)かどうか文字コードで調べる * [引 数] * @param obj テキストボックスオブジェクト * [返り値] * @return true(含まれていない) | false(含まれている) */ function isNum(str){ str=str.replace(/-/g, ""); //var str=obj.value; /* 入力値 */ for(var i=0 ; icode || code>57)){ /* 数値(0-9)以外の文字コード範囲 */ //alert("数値以外が含まれています"); return false; } } //alert("全て数値です"); return true; } function madd_chk(mail_addr){ //if (!mail_addr.match(/^[A-Za-z0-9]+[\w-]+@[\w\.-]+\.\w{2,}$/)){ if (!mail_addr.match(/^[A-Za-z0-9]+[\w\.-]+@[\w\.-]+\.\w{2,}$/)){ // alert("e-mailアドレスをご確認ください。"); return false; }else{ return true; } } // [送信]ボタンをクリック時の処理を定義 function form_end() { $('#result').show("1000"); //$('#inq').show("1000"); $('#inq').hide("1000"); $(".flow img").attr("src", "img/process_3.gif"); xmlReq = createHttpRequest(); // サーバーからの応答時の処理を定義(結果のページへの反映) xmlReq.onreadystatechange = function() { var msg = document.getElementById("result"); if (xmlReq.readyState == 4) { if (xmlReq.status == 200) { msg.innerHTML = xmlReq.responseText; window.location.hash ="box010"; alert("お問い合わせいただき誠にありがとうございます。\n内容を確認の上、担当よりあらためて連絡させていただきます。\nよろしくお願い申し上げます。"); } else { msg.innerHTML = "通信に失敗しました。"; } } else { msg.innerHTML = "通信中…"; } } // サーバーとの通信を開始 xmlReq.open("GET","form/form.php",false); xmlReq.send(null); // xmlReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); // xmlReq.send(post_data); } $(document).ready(function(){ // 実行する命令 // alert("Start"); $("#captcha").keyup(function(){ $("#captcha").val($("#captcha").val().toUpperCase()); var captcha_str=$("#captcha").val(); $("#captcha_result").load("/form/captcha/compare_str.php?captcha="+captcha_str); //alert("Push"); }); });