


Borang JavaScript memproses kod pelaksanaan khusus (borang, pautan, butang)_kemahiran javascript
Contoh dalam artikel ini mengendalikan pelbagai bentuk, serta komponen umum pautan dan butang, dan mengajar anda cara mengendalikan pemprosesan borang JavaScript Kandungan khusus adalah seperti 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 default var ajaxSynchronized = true; //All ajax request will be unblock by default var ajaxAutoUnblock = true; var ajax_action_button = function (e){ var btn = $(this); //Add 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 } ); } }; /** * Update the extra form data in FormElement with Form element, Key and Value */ var ajax_update_post_data = function(formEle, k, v){ var form = $(formEle); var post_data = form.data('post_data'); if( post_data == undefined ){ post_data = {}; } if( v == undefined ){ delete post_data[k]; }else{ post_data[k] = v; } form.data('post_data',post_data); return true; }; /** * Bool Checkbox is special checkbox which needs to keep UNCHECK value * And post with ajax form ,the form is in the parent */ var bool_checkbox = function(){ var ipt = $(this); var formEle = ipt.closest("form"); var _check = ipt.prop("checked"); if(_check){ ajax_update_post_data(formEle,ipt.attr('name')); }else{ ajax_update_post_data(formEle,ipt.attr('name'),'f'); } }; /** * Init the spin number */ var spin_number = function(){ var spin = $(this); var config = { lock:true, imageBasePath: '{webpath}/css/images/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 the date input */ var date_input = function(){ var ipt = $(this); var config = { offset:[4,0], selectors:true, lang: '{lang}', firstDay : 1, format: 'yyyy-mm-dd', }; var min = ipt.attr('min'); if( min ){ config.min = min; } var min = ipt.attr('min'); if( min ){ config.min = min; } ipt.dateinput(config); return true; }; /** * Init the timePicker */ var time_picker = function(){ var ipt = $(this); var config = { }; var step = ipt.attr("step"); if( step ){ config.step = step; } ipt.timePicker( config ); return true; }; /** * Generic Ajax Form post function * If btn_action is set, then add data into form * if returi is set, redirect to returi * if reload is set, reload * else Show block message * * the form will be validated. */ 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(); //Cleanup the pageError if(!e.isDefaultPrevented()){ //Hide all .formError $.blockUI({ message:"{__('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); //Add extra Data var post_data; if(post_data = form.data('post_data')){ for (var k in post_data ){ //if post_data[k] is array,need more to do 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 = ""; var retData = "{__('L_PROCESSED')}!"; if(json.data){ retData = json.data; } //TODO Add suppport to allow save and stay if(btn_action =='reqonly'){ if(returi = form.attr('returi')){ $(window).data('blockUI.returi',returi); ajaxAutoUnblock = false; } $.blockUI({ message:retData, css:{ cursor:'pointer',padding:'4px',border:'3px solid #CC0000',}, overlayCSS:{ cursor:'pointer' } }); $(".blockUI").addClass("blockwarn"); } //if there is returi set, then return to uri else if(returi = form.attr('returi')){ window.location = returi; //Else if reload is set, then will be reload }else if(form.attr('reload')!=undefined){ window.location.reload(); }else{ $.blockUI({ message:retData }); $.unblockUI(); } } else{ if(typeof (json.data.errmsg) == 'string'){ errHint.html(json.data).show(); //$.blockUI({ message:json.data, css:{ cursor:'pointer',padding:'4px',border:'3px solid #CC0000',}, overlayCSS:{ cursor:'pointer' } }); //$(".blockUI").addClass("blockwarn"); }else{ errHint.html("{Html::text(__('E_FORM'))}").show(); for(var p in json.data){ var msg = json.data[p]; //Process hidden value,None hidden input should has refid refered to hidden value //Showing the Server message to ref var ele = form.find("[type=hidden][name="+p+"]"); if(ele.length){ delete json.data.p; refid = ele.attr("id"); refname = form.find("[hidden-id="+refid+"]").attr("name"); json.data[refname]=+msg; } //Muti checkbox var ele = form.find("[type=checkbox][name='"+p+"[]']"); if(ele.length){ delete json.data.p; refname = p+'[]'; json.data[refname]=+msg; } //@END } } /* * Checking the hidden values */ form.data("validator").invalidate(json.data); } },'json'); e.preventDefault(); }else{ errHint.html("{Html::text(__('E_FORM'))}").show(); } }; /*** * Reset the input */ var ajax_post_form_hidden = function(){ var form = $(this); form.find("[hidden-id]").each(function(){ //Clear the message of Reference var input = $(this); var refid = input.attr("hidden-id"); var field = $("#" + refid + ""); //Setup the clear of Errmsg //Monitor the change event on ID element, remove error message //of Real input field.change(function(){ //Hidden input var hinput = $(this); //real input var rinput = $("[hidden-id="+hinput.attr("id")+"]").first(); form.data('validator').reset(rinput) }); }); }; var validate_hidden_id = function(input) { var refid = input.attr("hidden-id"); var field = $("#" + refid + ""); var msg = field.attr('msg'); if( !msg ){ msg = "{__('E_NOT_EMPTY')}"; } return field.val() ? true : msg; }; var data_equals_validate = function(input) { var field; var name = input.attr("data-equals"); field = this.getInputs().filter("[name=" + name + "]"); return input.val() == field.val() ? true : [name]; }; /** * Ajax request through link * If confirm is set, confirm before send request * Support returi and reload * Else show block message */ var ajax_link_req = function(){ var l = $(this); var hint = l.attr('hint'); if(hint){ var errHint = $(l.attr('hint')); errHint.text('').hide(); } //If the confirm message is set, then should be confirmed from client if(l.attr('confirm')){ if(!confirm(l.attr('confirm'))){ return false; } } $.blockUI({ message:"{__('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('block'); if(block != undefined){ ajaxAutoUnblock = false ; } $.get(l.attr('href'),function(json){ if(json.code == true){ var retData = "{__('L_PROCESSED')}!"; var returi; //If success to execute funtion for each var successFunc = l.attr('success'); if(successFunc){ l.each(window[successFunc]); } if(json.data){ retData = json.data; } //IF Require warning before if( l.attr('value') == 'reqonly'){ alert(retData); }else if(returi = l.attr('returi')){ window.location = returi; } else if(l.attr('reload')!=undefined){ window.location.reload(); } else{ $.blockUI({ message:retData, css:{ cursor:'pointer',padding:'4px',border:'3px solid #CC0000',}, overlayCSS:{ cursor:'pointer' } }); $(".blockUI").addClass("blockwarn"); } }else{ //$.unblockUI(); //Only could support Text errmsg if(hint){ errHint.text(json.data).show(); }else{ alert(json.data); } }},'json'); return false; }; /** * Supporting the button base navigation * Only jump to new href */ var btn_nav = function(){ var input = $(this); var href = input.attr("href"); if(href){ window.location = href; }else{ alert("Href not set"); } return false; }; /** * Support button base Ajax get method request * support returi and 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('block'); if(block != undefined){ ajaxAutoUnblock = false } $.get(href,function(json){ if(json.code == true){ var returi; if(returi = input.attr('returi')){ window.location = returi; } else if(input.attr("reload")!=undefined){ window.location.reload(); }else{ var retData = "{__('L_PROCESSED')}!"; if(json.data){ retData = json.data; } $.blockUI({ message:retData,css:{ cursor:'pointer' },overlayCSS:{ cursor:'pointer' } }); } }else{ if(hint){ $.unblockUI(); errHint.html(json.data.errmsg).show(); }else{ $.blockUI({ message:json.data.errmsg, css:{ cursor:'pointer',padding:'4px',border:'3px solid #CC0000',}, overlayCSS:{ cursor:'pointer' } }); $(".blockUI").addClass("blockwarn"); } } },'json'); return false; }; /** * Generic Ajax Checkbox * The default action is prevented and submit real request through URL */ var ajax_checkbox = function(){ event.preventDefault(); var action = $(this); 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'); }; /** * Crete Root picklist */ var picklistinit = function(){ var _select = $(this); var _hidden_id = _select.attr('hidden-id'); var _un = _select.attr('un'); var _lovchildren = _select.data('lovtree').c; var _rowvalue = _select.data('rowvalue'); $("<OPTION>").append("{__('L_SELECT')}").appendTo(_select); for(var _kid in _lovchildren){ var _lov = _lovchildren[_kid]['lov']; $("<OPTION>").val(_lov.lov_id).append(_lov.v).attr('k',_lov.id).attr('is_leaf',_lov.is_leaf).appendTo(_select); } _select.change(picklistchange); //Select the list if(_rowvalue){ _select.find("[value="+_rowvalue[0]+"]").prop("selected",true); _select.change(); } return true; }; /** * Select pick list */ var picklistchange = function (){ var _select = $(this); var _hidden_id = _select.attr('hidden-id'); var _un = _select.attr('un'); //Remove all the subsequent var _lovtree = _select.data('lovtree'); var _rowvalue = _select.data('rowvalue'); _select.nextAll().remove(); //This is value of Current Select var _selected = _select.find(':selected'); 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'); //Getting Children list if(_lovtree.c[_k].c == undefined){ return false; } var _c_lovtree = _lovtree.c[_k]; var _c_select = $('<SELECT>').data('lovtree',_c_lovtree). data('rowvalue',_rowvalue). attr('hidden-id',_hidden_id).attr('un',_un). attr('name',_un+'_'+_k); $("<OPTION>").append("{__('L_SELECT')}").appendTo(_c_select); //Building the option list for(var _kid in _c_lovtree.c){ var _lov = _c_lovtree.c[_kid]['lov']; $("<OPTION>").val(_lov.lov_id).append(_lov.v).attr('k',_lov.id).attr('is_leaf',_lov.is_leaf).appendTo(_c_select); //Insert after _select.after(_c_select); //Onchange } _c_select.change(picklistchange); if(_rowvalue){ _c_select.find("[value="+_rowvalue[_k]+"]").prop("selected",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 set'); return false; } var height = lookup.attr('h'); if(!height){ height = 600; } var width = lookup.attr('w'); if(!width){ width = 800; } window.open(url,"pselect","scrollbars=yes,menubar=no,height="+height+",width="+width+",resizable=yes,toolbar=no,location=no,status=no"); return false; }; /** * Lookup new value for hidden value */ var parent_lookup = function(){ var lookup = $(this); var pid = opener.$("#" + lookup.attr('pid')); if(!pid.length){ alert(lookup.attr('pid')+ " not found"); return false; } var pname = opener.$( "#" + lookup.attr('pname')); if(!pname.length){ alert(lookup.attr('pname')+ " not found"); return false; } var aft_script; //Run current after script if(aft_script = lookup.attr('aft_script')){ window.eval(aft_script); } pid.val($(this).attr("refid")); //Only operation from opener could trigger change event pid.change(); pname.val($(this).attr("refvalue")); pname.change(); //Parent 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(); }; /** * Default upload complete */ //var uploadComplete = function(event, id, fileName, responseJSON) { var uploadComplete = function(e, data) { //To be replaced by jquery uploader var _fileUpload = $(this); //console.log(_fileUpload); //console.log(data.result); if(_fileUpload.attr('reload')!=undefined){ window.location.reload(); } }; /** * File upload function ,the following attribute to control action of upload * 'endpoint' as upload url * 'sid' as session id * 'complete' optional to configure the custom upload complete function */ var genericUpload = function(dom){ var endpointurl = $(this).attr('endpoint'); var sid = $(this).attr("sid"); var completeFunc = 'uploadComplete'; //Setup custome complete function var cusComplete = $(this).attr('complete'); if(cusComplete){ completeFunc = cusComplete; } $(this).fileupload({ url: endpointurl, autoUpload:true, dataType:'json', formData: [{ 'sessionid': sid }], paramName: 'Filedata', }).bind('fileuploaddone',window[completeFunc]); }; /** * Matched errors with input * Only matched errors could be identified here */ var advance_validate = function(errors, event) { var conf = this.getConf(); // loop errors $.each(errors, function(index, error) { // add error class into input Dom element var input = error.input; input.addClass(conf.errorClass); // get handle to the error container var msg = input.data("msg.el"); // create Error data if not present, and add error class for input // "msg.el" data is linked to error message Dom Element if (!msg) { //msg = $(conf.message).addClass(conf.messageClass).insertAfter(input); msg = $(conf.message).addClass(conf.messageClass).appendTo(input.parent()); input.data("msg.el", msg); } // clear the container msg.css({visibility: 'hidden'}).find("span").remove(); // populate messages $.each(error.messages, function(i, m) { $("<span/>").html(m).appendTo(msg); }); // make sure the width is not full body width so it can be positioned correctly if (msg.outerWidth() == msg.parent().width()) { msg.add(msg.find("span")); } //insert into correct position (relative to the field) msg.css({ visibility: 'visible'}) .fadeIn(conf.speed); msg.parent().addClass("colError"); }); }; var advance_inputs = function(inputs) { 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 = $(this); var errHint = form.find(".formError").first(); if(errHint.size() == 0){ errHint = $("#pageError"); errHint.text('').hide(); } } }; /** * When refname is contained to be selected */ var checkall = function() { var check = $(this); 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(refclass){ if(check.prop("checked")){ $("input."+refclass).prop("checked",true); }else{ $("input."+refclass).prop("checked",false); } } }; /** * Setup readonly checkbox */ var readonlyCheck = function(e){ e.preventDefault(); return false; }; /** * Select List disable */ var readonlySelect = function(){ $(this).prop("disabled", true); }; $(document).ready(function() { $(document).ajaxStart(function(){ //Clean up the Ajax request Page Level Error $("#pageError").text('').hide(); //Clean up teh Form Error $(".formError").text('').hide(); //Blocking all ajax processing if(ajaxSynchronized){ $.blockUI({ message:"{__('L_PROCESSING')}" }); } }); $(document).ajaxStop(function(){ if(ajaxSynchronized){ if($(window).data('blockUI.isBlocked') == 1){ if(ajaxAutoUnblock){ $.unblockUI(); }else{ ajaxAutoUnblock = true; } } }else{//Change back to default Synchronized mode from Async ajaxAutoUnblock = true; ajaxSynchronized = true; } }); $(document).ajaxError(function(event, request, settings){ alert('Ajax Request Error! URL='+settings.url); if(ajaxSynchronized){ if($(window).data('blockUI.isBlocked') == 1){ if(ajaxAutoUnblock){ $.unblockUI(); }else{ ajaxAutoUnblock = true; } } }else{ ajaxAutoUnblock = true; ajaxSynchronized = true; } }); //Force unblockUI $(document).click(function(){ if($(window).data('blockUI.isBlocked') == 1){ $.unblockUI(); var returi = $(window).data('blockUI.returi'); if(returi){ window.location = returi; } }}); $.tools.validator.addEffect("advanced", advance_validate,advance_inputs); $.tools.validator.fn("[data-equals]", { "{lang}":"{__('E_NOTEQUAL')}" }, data_equals_validate ); $.tools.validator.fn("[hidden-id]",validate_hidden_id); $(".ajax_form_post").validator({ lang:'{lang}',effect:'advanced' }) .submit( ajax_form_post ); $(".ajax_form_post").each(ajax_post_form_hidden); $(".spin_number").each(spin_number); $(".date_input").each(date_input); $(".time_picker").each(time_picker); $('.ajax_link_req').click(ajax_link_req); //Client validation for the hidden ID $(".require_validate").validator({ lang:'{lang}',effect:'advanced' }); $(".btn_nav").click( btn_nav ); $(".btn_req").click( btn_req ); $("button.btn_action").click(ajax_action_button); $(".lookup_new").click(lookup_new); $(".parent_lookup").click(parent_lookup); $(".ajax_checkbox").click(ajax_checkbox); $(".bool_checkbox").click(bool_checkbox); $(".checkall").click(checkall); $("img[rel]").overlay(); $("input[tip]").tooltip({ position:"center right"}); //At last we will do localize $.tools.validator.localize("{lang}", { '*' : "{__('E_ALL')}", ':email' : "{__('E_EMAIL')}", ':number' : "{__('E_DECIMAL')}", ':url' : "{__('E_URL')}", '[max]' : "{__('E_MAX_LENGTH')}", '[min]' : "{__('E_MIN_LENGTH')}", '[required]' : "{__('E_NOT_EMPTY')}", }); });
Di atas adalah keseluruhan kandungan artikel ini saya harap ia akan membantu semua orang dalam menguasai operasi pemprosesan borang javascript. Terima kasih kerana membaca.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



1. Mula-mula, kita klik kanan ruang kosong bar tugas dan pilih pilihan [Task Manager], atau klik kanan logo mula, dan kemudian pilih pilihan [Task Manager]. 2. Dalam antara muka Pengurus Tugas yang dibuka, kami klik tab [Perkhidmatan] di hujung kanan. 3. Dalam tab [Perkhidmatan] yang dibuka, klik pilihan [Buka Perkhidmatan] di bawah. 4. Dalam tetingkap [Services] yang terbuka, klik kanan perkhidmatan [InternetConnectionSharing(ICS)], dan kemudian pilih pilihan [Properties]. 5. Dalam tetingkap sifat yang terbuka, tukar [Buka dengan] kepada [Disabled], klik [Apply] dan kemudian klik [OK]. 6. Klik logo mula, kemudian klik butang tutup, pilih [Mulakan Semula], dan selesaikan mula semula komputer.

Teknologi pengesanan dan pengecaman muka adalah teknologi yang agak matang dan digunakan secara meluas. Pada masa ini, bahasa aplikasi Internet yang paling banyak digunakan ialah JS Melaksanakan pengesanan muka dan pengecaman pada bahagian hadapan Web mempunyai kelebihan dan kekurangan berbanding dengan pengecaman muka bahagian belakang. Kelebihan termasuk mengurangkan interaksi rangkaian dan pengecaman masa nyata, yang sangat memendekkan masa menunggu pengguna dan meningkatkan pengalaman pengguna termasuk: terhad oleh saiz model, ketepatannya juga terhad. Bagaimana untuk menggunakan js untuk melaksanakan pengesanan muka di web? Untuk melaksanakan pengecaman muka di Web, anda perlu biasa dengan bahasa dan teknologi pengaturcaraan yang berkaitan, seperti JavaScript, HTML, CSS, WebRTC, dll. Pada masa yang sama, anda juga perlu menguasai visi komputer yang berkaitan dan teknologi kecerdasan buatan. Perlu diingat bahawa kerana reka bentuk bahagian Web

Alat penting untuk analisis saham: Pelajari langkah-langkah untuk melukis carta lilin dalam PHP dan JS, contoh kod khusus diperlukan Dengan perkembangan pesat Internet dan teknologi, perdagangan saham telah menjadi salah satu cara penting bagi banyak pelabur. Analisis saham adalah bahagian penting dalam membuat keputusan pelabur, dan carta lilin digunakan secara meluas dalam analisis teknikal. Mempelajari cara melukis carta lilin menggunakan PHP dan JS akan memberikan pelabur maklumat yang lebih intuitif untuk membantu mereka membuat keputusan yang lebih baik. Carta candlestick ialah carta teknikal yang memaparkan harga saham dalam bentuk candlestick. Ia menunjukkan harga saham

Cara menggunakan PHP dan JS untuk mencipta carta lilin saham Carta lilin saham ialah grafik analisis teknikal biasa dalam pasaran saham Ia membantu pelabur memahami saham dengan lebih intuitif dengan melukis data seperti harga pembukaan, harga penutup, harga tertinggi. dan harga terendah turun naik harga saham. Artikel ini akan mengajar anda cara membuat carta lilin saham menggunakan PHP dan JS, dengan contoh kod khusus. 1. Persediaan Sebelum memulakan, kita perlu menyediakan persekitaran berikut: 1. Pelayan yang menjalankan PHP 2. Pelayar yang menyokong HTML5 dan Kanvas 3

Ketahui cara membuka dan memproses fail format CSV dengan pantas Dengan pembangunan analisis dan pemprosesan data yang berterusan, format CSV telah menjadi salah satu format fail yang digunakan secara meluas. Fail CSV ialah fail teks yang ringkas dan mudah dibaca dengan medan data berbeza yang dipisahkan dengan koma. Sama ada dalam penyelidikan akademik, analisis perniagaan atau pemprosesan data, kami sering menghadapi situasi di mana kami perlu membuka dan memproses fail CSV. Panduan berikut akan menunjukkan kepada anda cara belajar membuka dan memproses fail format CSV dengan cepat. Langkah 1: Fahami format fail CSV Pertama,

Dalam proses pembangunan PHP, berurusan dengan aksara khas adalah masalah biasa, terutamanya dalam pemprosesan rentetan, aksara khas sering terlepas. Antaranya, menukar aksara khas kepada petikan tunggal adalah keperluan yang agak biasa, kerana dalam PHP, petikan tunggal adalah cara biasa untuk membungkus rentetan. Dalam artikel ini, kami akan menerangkan cara mengendalikan petikan tunggal penukaran aksara khas dalam PHP dan memberikan contoh kod khusus. Dalam PHP, aksara khas termasuk tetapi tidak terhad kepada petikan tunggal ('), petikan berganda ("), segaris ke belakang (), dsb. Dalam rentetan

Jika sistem operasi yang kami gunakan ialah win7, sesetengah rakan mungkin gagal untuk menaik taraf daripada win7 kepada win10 semasa menaik taraf. Editor berpendapat kita boleh cuba menaik taraf sekali lagi untuk melihat sama ada ia dapat menyelesaikan masalah. Mari kita lihat apa yang editor lakukan untuk perincian~ Apa yang perlu dilakukan jika win7 gagal untuk menaik taraf kepada win10 Kaedah 1: 1. Adalah disyorkan untuk memuat turun pemacu terlebih dahulu untuk menilai sama ada komputer anda boleh dinaik taraf kepada Win10. Kemudian gunakan ujian pemandu selepas menaik taraf Periksa jika terdapat sebarang keabnormalan pemandu, dan kemudian membaikinya dengan satu klik. Kaedah 2: 1. Padam semua fail di bawah C:\Windows\SoftwareDistribution\Download. 2.win+R run "wuauclt.e

Dengan perkembangan pesat kewangan Internet, pelaburan saham telah menjadi pilihan semakin ramai orang. Dalam perdagangan saham, carta lilin adalah kaedah analisis teknikal yang biasa digunakan Ia boleh menunjukkan trend perubahan harga saham dan membantu pelabur membuat keputusan yang lebih tepat. Artikel ini akan memperkenalkan kemahiran pembangunan PHP dan JS, membawa pembaca memahami cara melukis carta lilin saham dan menyediakan contoh kod khusus. 1. Memahami Carta Lilin Saham Sebelum memperkenalkan cara melukis carta lilin saham, kita perlu memahami dahulu apa itu carta lilin. Carta candlestick telah dibangunkan oleh orang Jepun
