vistas una tablas recomendaciones queries porque optimizador lentas lenta las dañan cuello consulta consejos como botella agilizar html http field

html - una - Cómo evitar el envío de campos de entrada que están ocultos por la pantalla: ninguno en un servidor?



view lenta mysql (6)

Eliminaría el valor de la entrada o separaría el objeto de entrada del DOM para que no exista para publicarlo en primer lugar.

Imagine que tiene un formulario donde cambia la visibilidad de varios campos. Y si el campo no se muestra, no desea que su valor esté en la solicitud.

¿Cómo manejas esta situación?


Establecer un elemento de formulario como deshabilitado lo detendrá al ir al servidor, por ejemplo:

<input disabled="disabled" type="text" name="test"/>

En javascript, significaría algo como esto:

var inputs = document.getElementsByTagName(''input''); for(var i = 0;i < inputs.length; i++) { if(inputs[i].style.display == ''none'') { inputs[i].disabled = true; } } document.forms[0].submit();

En jQuery:

$(''form > input:hidden'').attr("disabled",true); $(''form'').submit();


Puede usar javascript para establecer el atributo deshabilitado. El evento de clic del botón "enviar" es probablemente el mejor lugar para hacer esto.

Sin embargo, recomendaría no hacer esto en absoluto. Si es posible, debe filtrar su consulta en el servidor. Esto será más confiable.


Qué pasa:

$(''#divID'').children(":input").prop("disabled", true); // disable

y

$(''#divID'').children(":input").prop("disabled", false); // enable

Para alternar todas las entradas de los niños (selecciona, casillas de verificación, entrada, áreas de texto, etc.) dentro de un div oculto.


Si desea deshabilitar todos los elementos o ciertos elementos dentro de un elemento primario oculto, puede usar

$("div").filter(":hidden").children("input[type=''text'']").attr("disabled", "disabled");

Este ejemplo http://jsfiddle.net/gKsTS/ deshabilita todos los cuadros de texto dentro de un div oculto


Una solución muy simple (pero no siempre la más conveniente) es eliminar el atributo "nombre": el estándar requiere que los navegadores no envíen valores sin nombre, y todos los navegadores que conozco respetan esta regla.