1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
$(document).ready(function(){ form_funs.init(); }); var form_funs = { get_form: function(){ return $('#myform'); }, init: function(){ var wrap = this; var $form = wrap.get_form(); $form.find('.bt_submit').on('click', function(e){ if(wrap.validate_form($form) == false){ return false; } if(wrap.validate_password() == false){ return false; } if(confirm(err_lang.submit_confirm)){ $form.submit(); } }); }, validate_form: function($form){ var wrap = this; var result = true; $form.find('input[type="text"], input[type="radio"], input[type="checkbox"], textarea, select').each(function(index){ var $field = $(this); var field = $field[0]; var field_type = field.type.toLowerCase(); var tag_name = field.tagName.toLowerCase(); //console.log($field.attr('name') + ': ' + $field.prop('required')); if(typeof $field.attr('required') == 'undefined' || $field.attr('required') == false){ return; } if(field_type == 'text' || tag_name == 'textarea'){ value = $field.val(); if(value == ''){ var msg = '請輸入 ' + wrap.get_label($field); wrap.warning(msg); $field.focus(); result = false; return false; } }else if(tag_name == 'select'){ value = $field.val(); if(value == '' || value == "0"){ var msg = '請選擇 ' + wrap.get_label($field); wrap.warning(msg); $field.focus(); result = false; return false; } }else{//Checkbox or radio var name = $field.attr('name'); var $checked = $form.find('input[name="' + name + '"]:checked'); if($checked.size() == 0){ var msg = '請選擇 ' + wrap.get_label($field); wrap.warning(msg); $field.focus(); result = false; return false; } } }); //console.log(result); return result; }, get_label: function($field){ var label = $field.attr('title'); //console.log(label); if(typeof label == 'undefined' || label == null){ return '必填欄位'; }else{ return label; } }, warning: function(msg){ alert(msg); }, reset: function(){ var wrap = this; var $form = wrap.get_form(); $form[0].reset(); } } |