Pregunta sobre WooCommerce de Wordpress:

Realice un campo de ‘pago’ personalizado con javascript (o jQuery)

Un usuario pregunt贸 馃憞

Hola, tengo 2 campos de verificaci贸n personalizados y el segundo solo se muestra si se selecciona una determinada opci贸n en la lista desplegable del primer campo de verificaci贸n personalizada. Us茅 jQuery para mostrar el segundo y salir seg煤n la selecci贸n y necesito el segundo campo, pero intent茅 agregar el atributo ‘requerido’ al campo de entrada y la clase de ‘validaci贸n’ -required ‘con el padre del campo en una fila, pero el formulario de pedido siempre entra independientemente de estos. 驴Puedo crear un campo que requiera Javascript (o jquery)? Gracias

(@laceyrod)

Ingeniero Autom谩tico de Felicidad

hace 1 a帽o

Hola,

Gracias por contactarnos.

Esto requerir铆a un desarrollo m谩s complejo. Seguir茅 adelante y dejar茅 este hilo abierto por un tiempo en caso de que alguien m谩s quiera comprometerse, pero mientras tanto, puedo sugerir los siguientes recursos para preguntas espec铆ficas. sobre un mayor desarrollo:

– Comunidad de sedimentos de WooCommerce: https://woocommerce.com/community-slack/
– Grupo avanzado de WooCommerce en Facebook: https://www.facebook.com/groups/advanced.woocommerce/

Este recurso tambi茅n puede ayudar: https://stackoverflow.com/questions/18770369/how-to-set-html5-required-attribute-in-javascript

隆Gracias!

(@estudiokb)

hace 1 a帽o

Hola gracias. Interesante art铆culo, pero el atributo HTML5 芦esencial禄 no hace nada cuando se agrega al campo. Todav铆a est谩 insertado. Imagino que WooCommerce env铆a el comando con AJAX y la validaci贸n se realiza en el lado del servidor.

(@dirkjungquist)

Hace 10 meses, 1 semana

Estoy buscando la misma respuesta: c贸mo arreglar / desinstalar el atributo requerido. Encontr茅 un ejemplo que dice hacer esto:

https://stackoverflow.com/questions/55206672/make-woocommerce-checkout-phone-field-optional-based-on-shipping-country/55209546#55209546

La esencia de esta funci贸n es:

function actionRequire (actionToDo = ‘yes’, selector = 芦) {if (actionToDo == ‘yes’) {$ (selector) .addClass (禄 validaci贸n requerida 芦); $ (selector + ‘etiqueta> .required’ ) (eliminar +) (selector + ‘etiqueta’). ap茅ndice (obligatorio);} otro {$ (selector) .removeClass (芦validaci贸n-requerida禄); $ (selector + ‘etiqueta> .required’). eliminar ();} $ (selector) .removeClass (芦validaci贸n de woocommerce禄); $ (selector) .removeClass (芦woocommerce-invalid woocommerce-invalid-required field禄);}

Intent茅 esto y el 芦*禄 requerido se elimin贸 de la etiqueta del campo, pero esto parece ser cosm茅tico y reemoveClass no hizo que el campo fuera innecesario en mis pruebas.

As铆 que todav铆a estoy buscando c贸mo cambiar din谩micamente el atributo requerido.

(@estudiokb)

Hace 10 meses, 1 semana

Hola Dirk, nunca logr茅 que WooCommerce cumpliera con el atributo ‘esencial’, as铆 que tuve que hacerlo con jQuery. B谩sicamente, era para evitar la acci贸n del bot贸n Realizar pedido si un ‘campo de fecha’ estaba vac铆o y para dar una alerta. Algo como:


//prevent place order button submitting
$('#place_order').bind('click.orderclick', function (event) {
            // Check DATE input value
            var dateInput = $('#order_wcj_checkout_field_7').val().length;
            console.log('date input:' + dateInput);
            if (dateInput == 0) {
                alert("Please select a pickup date.");
                event.preventDefault();
                $('#order_wcj_checkout_field_7').css({
                    'border': 'solid 1px red'
                });
                $('html, body').animate({
                    scrollTop: $("#order_wcj_checkout_field_7").offset().top - 130
                }, 1000);
            } else {
                // remove click preventDefault
                $('#place_order').unbind('.orderclick');
                $('#order_wcj_checkout_field_7').css({
                    'border': 'none'
                });
                $('#order_wcj_checkout_field_7_field > label > .required').remove();
            }

(@dirkjungquist)

Hace 10 meses, 1 semana

Voy por el otro lado, as铆 que tengo campos que no se han requerido para el registro y cuando se hace clic en una casilla de verificaci贸n para reutilizar los detalles de facturaci贸n para el registro, oculto los campos de registro y luego quiero que sean redundantes. Mi soluci贸n a corto plazo fue solo completar datos ficticios para permitir que el usuario los ingrese. Torpe, pero tengo una respuesta a corto plazo para m铆. Entonces, aunque quiero desactivarlo, creo que probablemente solo completar茅 una copia de los detalles del formulario en lugar de ocultar los campos del formulario.

Soy de la vieja escuela y me molesta almacenar / ejecutar datos adicionales en lugar de poner la bandera duplicada en mi base de datos de clientes. Entonces, su soluci贸n es una forma de implementar la verificaci贸n del lado del cliente y no usar la bandera Woo requerida. Otra idea ser铆a hacer que Ajax llame a una funci贸n del lado del servidor, pero no he visto una buena funci贸n de acci贸n en Woo para hacer esto.

Gracias por compartir.

Esta respuesta fue modificada hace 10 meses, hace una semana por.

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *