Rimuovere attributo required input checkout
-
Innanzitutto grazie per la realizzazione del vostro plugin, molto utile, vi espongo il mio problema, sto cercando di eliminare l’attributo required da alcuni campi di Woocommerce nella fase di checkout, analizzando i file che compongono il vostro plugin, mi sono imbattuto nel file checkout.js che governa le due casistiche quando l’utente sceglie dalla select: ricevuta o fattura.
Il mio obiettivo è nascondere alcuni campi input quando l’utente sceglie ricevuta. Ed applicando alcuni filtri sono riuscito a fare questo, lascio il codice:
function wcpdf_IT_billing_customer_type_change(wcpdf_IT_country_selected) { jQuery("#billing_cf_field label").html(wcpdf_IT.lblCommon); jQuery("#billing_cf").attr("placeholder", wcpdf_IT.txtCommon); if(jQuery("#billing_invoice_type").val() === "receipt" ) { // NASCONDI LABEL E CAMPO INPUT | NOME DELLA SOCIETÀ jQuery("#billing_company_field ").show(); // NASCONDI LABEL E CAMPO INPUT | CAP jQuery("#billing_postcode_field ").hide(); // NASCONDI LABEL E CAMPO INPUT | INDIRIZZO jQuery("#billing_address_1_field ").hide(); // NASCONDI LABEL E CAMPO INPUT | APPARTAMENTO / SUITE jQuery("#billing_address_2_field ").hide(); // NASCONDI LABEL E CAMPO INPUT | PROVINCIA jQuery("#billing_state_field ").hide(); jQuery("#billing_cf_field label").html(wcpdf_IT.lblPersonal); jQuery("#billing_cf").attr("placeholder", wcpdf_IT.txtPersonal); } wcpdf_IT_check_PEC(); }ora il tutto sembrerebbe corretto, l’utente non vede i campi che ho nascosto ma quando va a confermare il form, si trova che gli stessi campi nascosti mostrano a video un errore poichè sono required.
Ho provato tramite Jquery a rimuovere l’attributo required ma niente:
jQuery("#billing_city_field").remove(); jQuery("#billing_city_field").removeClass("validate-required woocommerce-invalid woocommerce-invalid-required-field"); jQuery("#billing_city_field ").removeAttr('required'); jQuery("#billing_city_field").hide().removeClass("validate-required");So che Woocommerce concede la possibilità nella documentazione di poter rimuovere i campi di checkout in questa maniera:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_city']); return $fields; }ma a me servirebbe una cosa del genere o qualunque altro modo, lascio questo codice errato!!! giusto per far capire di cosa sto parlando:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { if($fields['billing']['billing_invoice_type'] == 'receipt') { unset($fields['billing']['billing_city']); return $fields; } }Come posso risolvere questo?
Grazie.
The topic ‘Rimuovere attributo required input checkout’ is closed to new replies.