Artikel ini menangani berbagai bentuk, tautan, dan tombol secara umum. Ini mengajarkan Anda cara mengoperasikan pemrosesan bentuk JavaScript. Konten spesifiknya adalah sebagai berikut
/** * Generic Form processing js * @author Anthony.chen */ /** * Push button action [btn_action]data into form * If there is prescript , run the pre script */"use strict";//All ajax request are synchronized by defaultvar ajaxSynchronized = true;//All ajax request will be unblock by defaultvar ajaxAutoUnblock = true; var ajax_action_button = fungsi (e) {var btn = $ (ini); // Tambahkan Prescript Var Pre_Script; if (pre_script = btn.attr ("pre_script")) {var ret = eval (pre_script); if (ret == false) {return false; }} var btn_action = btn.attr ('value'); if (btn_action) {$ (this) .closest ('Form'). Data ('btn_action', {name: 'btn_action', value: btn_action}); }}; /** * Perbarui data formulir ekstra dalam formeLement dengan elemen formulir, kunci dan nilai */var ajax_update_post_data = fungsi (formele, k, v) {var form = $ (formele); var post_data = form.data ('post_data'); if (post_data == tidak terdefinisi) {post_data = {}; } if (v == tidak terdefinisi) {hapus post_data [k]; } else {post_data [k] = v; } form.data ('post_data', post_data); return true;}; /** * Kotak centang bool adalah kotak centang khusus yang perlu menjaga nilai hapus centang * dan posting dengan formulir AJAX, formulir tersebut ada di induk */var bool_checkbox = function () {var pt = $ (ini); var formele = pt.closest ("bentuk"); var _check = pt.prop ("checked"); if (_check) {ajax_update_post_data (formele, pt.attr ('name')); } else {ajax_update_post_data (formele, pt.attr ('name'), 'f'); }}; /** * init nomor spin */var spin_number = function () {var spin = $ (this); var config = {lock: true, imageBasePath: '{webpath}/css/gambar/spin/', btncss: null, txtcss: null, btnclass: 'spin_btn',}; var interval = spin.attr ('interval'); if (interval) {config.interval = interval; } else {config.interval = 1; } var min = spin.attr ('min'); if (min) {config.min = min; } var max = spin.attr ('max'); if (max) {config.max = max; } spin.spin (config); return true;}; /** * init input tanggal */var date_input = function () {var pt = $ (this); var config = {offset: [4,0], selectors: true, lang: '{lang}', hari pertama: 1, format: 'yyyy-mm-dd',}; var min = pt.attr ('min'); if (min) {config.min = min; } pt.dateInput (config); return true;}; /** * init timePicker */var time_picker = function () {var pt = $ (this); var config = {}; var step = pt.attr ("step"); if (step) {config.step = step; } pt.timePicker (config); return true;}; /** * Generik Ajax Form Function Posting * Jika btn_action diatur, maka tambahkan data ke dalam formulir * Jika returi diatur, redirect untuk mengembalikan * jika dimuat ulang diatur, muat ulang * lain tunjukkan pesan blok * * Formulir akan divalidasi. */var ajax_form_post = function (e) {var form = $ (this); var pre_script; if (pre_script = form.attr ("pre_script")) {var ret = eval (pre_script); if (ret == false) {return false; }} var errhint = form.find (". FormeRror"). First (); if (errhint.size () == 0) {errhint = $ ("#pageError"); } errhint.text (''). hide (); // Bersihkan PageError if (! E.isDefaultPrevented ()) {// Sembunyikan semua .FORMERROR $ .BlockUi ({pesan: "{__ ('l_processing')}"}); var formarray = form.serializeArray (); var btn_action_data; var btn_action; if (btn_action_data = form.data ('btn_action')) {formarray.push (btn_action_data); form.removedata ('btn_action'); btn_action = btn_action_data.value; } else {btn_action = ''; } console.log ('btn action:'+btn_action); // Tambahkan data tambahan var post_data; if (post_data = form.data ('post_data')) {for (var k di post_data) {// if post_data [k] array, perlu lebih banyak untuk melakukan formarray.push ({name: k, value: post_data [k]}); } form.removedata ('post_data'); } $ .post (form.attr ('action'), formarray, function (json) {if ($ (window) .data ('blockui.isblocked') == 1) {$ .unblockui ();} if (json.code === true) {var returi = ";);); if (json.data) {retdata = json.data; $ .blockUi ({pesan: retdata, css: {kursor: 'pointer', padding: '4px', border: '3px solid #cc0000',}, overlaycss: {cursor: u return '); if (returi = form.attr ('returi')) {window.location = returi; if (typeof (json.data.errmsg) == 'string') {errhint.html (json.data) .show (); Kursor 'Pointer'}}); Nilai, tidak ada input tersembunyi yang seharusnya merujuk pada nilai tersembunyi // menunjukkan pesan server ke ref var ele = form.find ("[type = hidden] [name ="+p+"]"); Form.find ("Hidden-ID ="+Refid+"]"). ATTREK ("NAME"); json.data [refname] =+msg;} //@end}} / * * Memeriksa nilai tersembunyi * /form.data ("validator"). Invalidate (json.data); e.preventdefault (); } else {errhint.html ("{html :: text (__ ('e_form'))}"). show (); }}; /****Atur ulang input*/var ajax_post_form_hidden = function () {var form = $ (this); form.find ("[hidden-id]"). masing-masing (function () {// hapus pesan referensi var input = $ (this); var refid = input.attr ("hidden-id"); var field = $ ("#" + refid + ""); // setup Bersihkan dari errmsg // monitor peristiwa perubahan pada elemen ID, lepaskan pesan ID, lepaskan pesan /{{{function {function {function {function {function {function {function /{function {function / Hinput = $ (ini); }); var validate_hidden_id = fungsi (input) {var refid = input.attr ("hidden-id"); var field = $ ("#" + refid + ""); var msg = field.attr ('msg'); if (! msg) {msg = "{__ ('e_not_empty')}"; } return field.val ()? Benar: msg; }; var data_equals_validate = fungsi (input) {var bidang; var name = input.attr ("data-equals"); field = this.getInputs (). filter ("[name =" + name + "]"); return input.val () == field.val ()? Benar: [name];}; /** * Permintaan AJAX Melalui tautan * Jika konfirmasi diatur, konfirmasi sebelum mengirim permintaan * Dukungan pengembalian dan memuat ulang * else menunjukkan pesan blok */var ajax_link_req = fungsi () {var l = $ (ini); var hint = l.attr ('hint'); if (hint) {var errhint = $ (l.attr ('hint')); errhint.text (''). hide (); } // Jika pesan konfirmasi diatur, maka harus dikonfirmasi dari klien jika (l.attr ('konfirmasi')) {if (! Confirm (l.attr ('konfirmasi'))) {return false; }} $ .blockui ({pesan: "{__ ('l_processing')}"}); var pre_script; if (pre_script = l.attr ("pre_script")) {var ret = eval (pre_script); if (ret == false) {return false; }} var block = l.attr ('blok'); if (block! = tidak terdefinisi) {ajaxautounblock = false; } $ .get (l.attr ('href'), function (json) {if (json.code == true) {var retdata = "{__ ('l_processed')}!"; var returi; // jika berhasil menjalankan fungsi untuk setiap var suscectfunc = l.attr ('ific'); if (json.data) {retdata = json.data; window.location.reload (); } else {// $. unblockui (); mengembalikan false;}; /** * Mendukung navigasi dasar tombol * Hanya melompat ke href baru */var btn_nav = function () {var input = $ (this); var href = input.attr ("href"); if (href) {window.location = href; } else {alert ("href not atur"); } return false;}; /** * Tombol Dukungan Basis Ajax Get Metode Permintaan * Dukungan Pengembalian dan Reload */var btn_req = function () {var input = $ (this); var href = input.attr ("href"); var hint = input.attr ('hint'); if (hint) {var errhint = $ (hint) .first (); if (errhint.size () == 0) {errhint = $ ("#pageError"); } errhint.text (''). hide (); } var block = input.attr ('blok'); if (block! = tidak terdefinisi) {ajaxautounblock = false} $ .get (href, function (json) {if (json.code == true) {var returi; if (returi = input.attr ('returi')) {window.location = returi;} if {"returi) {window." window.location.reload ();} else {var retdata = "{__ ('l_processed')}!" }); #CC0000 ',}, overlaycss: {kursor:' pointer '}}); mengembalikan false;}; /** * kotak centang AJAX generik * Tindakan default dicegah dan dikirimkan permintaan nyata melalui url */var ajax_checkbox = fungsi () {event.preventdefault (); var action = $ (ini); var url = action.attr ('url'); var _check = action.prop ("checked"); console.log (_check); var op; if (_check) {op = "1"; } else {op = "0"; } $ .get (url + op, function (json) {if (json.code == true) {if (_check) {action.prop ("checked", true);} else {action.prop ("checked", false);} return true;} else {return false;}}, 'json'); /** * picklist root crete */var pickListInit = function () {var _select = $ (this); var _hidden_id = _select.attr ('tersembunyi-id'); var _un = _select.attr ('un'); var _lovchildren = _select.data ('lovtree'). C; var _rowValue = _select.data ('rowValue'); $ ("<pection>"). Append ("{__ ('l_select')}"). AppendTo (_select); untuk (var _kid di _lovchildren) {var _lov = _lovchildren [_kid] ['lov']; $ ("<pection>"). Val (_lov.lov_id) .append (_lov.v) .attr ('k', _ lov.id) .attr ('is_leaf', _ lov.is_leaf). Lampo (_select); } _select.change (pickListChange); // Pilih daftar if (_rowValue) {_select.find ("[value ="+_ rowValue [0]+"]"). Prop ("dipilih", true); _Select.change (); } return true;}; /** * Pilih Daftar Pilih */var pickListChange = function () {var _select = $ (this); var _hidden_id = _select.attr ('tersembunyi-id'); var _un = _select.attr ('un'); // Hapus semua var _lovtree berikutnya = _select.data ('lovtree'); var _rowValue = _select.data ('rowValue'); _Select.nextAll (). Remove (); // Ini adalah nilai saat ini pilih var _selected = _select.find (': dipilih'); if (_selected.attr ('is_leaf') == "{db :: t}") {$ ("#"+_ hidden_id) .val (_select.val ()); _Select.after ("<img src = '/s.gif' class = 'sprite_global successimg'/>"); } else {var _val = _select.val (); var _k = _Selected.attr ('k'); // mendapatkan daftar anak -anak jika (_lovtree.c [_k] .c == tidak ditentukan) {return false; } var _c_lovtree = _lovtree.c [_k]; var _c_select = $ ('<folly>'). Data ('lovtree', _ c_lovtree). Data ('RowValue', _ RowValue). attr ('hidden-id', _ hidden_id) .attr ('un', _ un). attr ('name', _ un+'_'+_ k); $ ("<pection>"). Append ("{__ ('l_select')}"). AppendTo (_c_select); // Membangun daftar opsi untuk (var _kid di _c_lovtree.c) {var _lov = _c_lovtree.c [_kid] ['lov']; $ ("<pection>"). Val (_lov.lov_id) .append (_lov.v) .attr ('k', _ lov.id) .attr ('is_leaf', _ lov.is_leaf). Lampo (_c_select); // masukkan setelah _select.after (_c_select); // onchange} _c_select.change (pickListChange); if (_rowValue) {_c_select.find ("[value ="+_ rowValue [_k]+"]"). prop ("dipilih", true); _c_select.change (); }}}; var lookup_new = function () {var lookup = $ (this); var pre_script; if (pre_script = lookup.attr ("pre_script")) {var ret = eval (pre_script); if (ret == false) {return false; }} var url = lookup.attr ("url"); if (! URL) {alert ('url not atur'); mengembalikan false; } var height = lookup.attr ('h'); if (! height) {height = 600; } var width = lookup.attr ('w'); if (! width) {width = 800; } window.open (url, "pselect", "scrollbars = ya, menubar = tidak, tinggi ="+tinggi+", lebar ="+lebar+", dapat diputar ulang = ya, toolbar = tidak, lokasi = tidak, status = tidak"); mengembalikan false; }; /** * Mencari nilai baru untuk nilai tersembunyi */var parent_lookup = function () {var lookup = $ (this); var pid = pembuka. $ ("#" + lookup.attr ('pid')); if (! pid.length) {alert (lookup.attr ('pid')+ "tidak ditemukan"); mengembalikan false; } var pname = pembuka. $ ("#" + lookup.attr ('pname')); if (! pname.length) {alert (lookup.attr ('pname')+ "tidak ditemukan"); mengembalikan false; } var aft_script; // Jalankan saat ini setelah skrip if (aft_script = lookup.attr ('aft_script')) {window.eval (aft_script); } pid.val ($ (ini) .attr ("refid")); // hanya operasi dari pembuka yang dapat memicu perubahan acara pid.change (); pname.val ($ (ini) .attr ("refvalue")); pname.change (); // induk after_script if (aft_script = pname.attr ('aft_script')) {opener.window.eval (aft_script); } if (aft_script = pid.attr ('aft_script')) {opener.window.eval (aft_script); } window.close ();}; /** * Upload default Lengkap * /// var unggahcompete = function (event, id, fileName, responseJson) {var unggahcomplete = function (e, data) {// untuk diganti dengan jQuery unggah var _fileupload = $ (this); //console.log(_fileupload); //console.log(data.result); if (_fileUpload.attr ('Reload')! = Undefined) {window.location.reload (); }}; /** * Fungsi Upload File, atribut berikut untuk mengontrol tindakan unggahan * 'titik akhir' sebagai unggahan url * 'sid' sebagai id sesi * 'lengkap' opsional untuk mengonfigurasi fungsi unggah lengkap kustom */var genericupload = function (dom) {var endpointUrl = $ (this) .attr ('endpoint'); var sid = $ (ini) .attr ("sid"); var sid = $ (ini) .attr ("sid"); var completeFunc = 'unggahComplete'; // setup fungsi lengkap khusus var cuscomplete = $ (this) .attr ('complete'); if (cuscomplete) {completeFunc = cuscomplete; } $ (this) .fileUpload ({url: endpointUrl, autoupload: true, datatype: 'json', formdata: [{'sessionId': sid}], paramname: 'fileedata',}). bind ('fileuploaddone', window [completeFuncing]); /** * Kesalahan yang cocok dengan input * Hanya kesalahan yang cocok dapat diidentifikasi di sini */var Advance_validate = fungsi (kesalahan, peristiwa) {var conf = this.getConf (); // kesalahan loop $ .each (kesalahan, fungsi (indeks, kesalahan) {// tambahkan kelas kesalahan ke dalam input elemen dom var input = error.input; input.addclass (conf.errorclass); // dapatkan ke data wadah kesalahan msg = input.data ("msg.el"); // buat data kesalahan jika tidak ada, dan input.data ("msg.el");// Buat data kesalahan jika tidak ada, dan input.data ("msg.el");// Buat data kesalahan jika tidak ada, dan input.data ("msg.el");// Buat data kesalahan jika tidak ada, dan input. (! MSG) {// msg = $ (conf. msg.css ({visibilitas: 'tersembunyi'}). find ("span"). Remove (); == msg.parent (). width ()) {msg.add (msg.find ("span")); var advance_inputs = fungsi (input) {var conf = this.getConf (); inputs.removeclass (conf.errorclass) .each (function () {var msg = $ (this) .data ("msg.el"); if (msg) {msg.hide (); msg.parent (). Removeclass ("colerror");}}); if ($ (". Colerror"). size () == 0) {var form = $ (ini); var errhint = form.find (". FormeRror"). First (); if (errhint.size () == 0) {errhint = $ ("#pageError"); errhint.text (''). hide (); }}}; /** * Ketika RefName terkandung untuk dipilih */var checkall = function () {var check = $ (ini); var refname = check.attr ('refname'); if (refname) {if (check.prop ("checked")) {$ ("input [name*= '"+refname+"']"). prop ("checked", true); } else {$ ("input [name*= '"+refname+"']"). prop ("checked", false); }} var refclass = check.attr ('RefClass'); if (reflass) {if (check.prop ("checked")) {$ ("input."+refClass) .prop ("checked", true); } else {$ ("input."+RefClass) .prop ("checked", false); }}}; /** * Mengatur kotak centang readonly */var readonlycheck = function (e) {e.preventDefault (); mengembalikan false;}; /** * Pilih Daftar Nonaktifkan */var readonlyselect = function () {$ (this) .prop ("Disable", true); }; $ (dokumen) .ready (function () {$ (document) .AjaxStart (function () {// Bersihkan kesalahan level halaman permintaan AJAX $ ("#pageError"). Teks (''). Hide (); // Bersihkan semua bentuk $ (". $ .blockui ({pesan: "{__ ('l_processing')}"}); $ .blockui (); Url = '+settings.url); Ajaxsynchronized = true; }}}); $ .tools.validator.fn ("[tersembunyi]", validate_hidden_id); $ (. Lang: {Lang} ',' Advanced '}); $ (. Parent_lookup "). Posisi: "Center Right"}); // Akhirnya kita akan melokalisasi $ .tools.validator.localize ("{lang}", {'*': "{__ ('e_all')}", ":": {__EM (__EM (__EM)} {__EM: {{E_EMAIL ') {{{{E_LOM: ") "{__ ('e_url')}", '[max]': "{__ ('e_max_length')}", '[min]': "{__ ('e_min_length')}", '[wajib]': "{__ ('e_not_empty')}",} ");Di atas adalah semua konten artikel ini. Saya harap akan membantu semua orang untuk menguasai operasi pemrosesan bentuk JavaScript. Terima kasih atas bacaan Anda.