jquery - type - form autocomplete off
No se puede establecer el valor del campo de entrada oculto usando jQuery (11)
Tengo un campo de entrada simple dentro de una etiqueta de formulario:
<body>
<form action="#">
<label>Input</label>
<input type="hidden" id="foo" name="foo" />
</form>
</body>
Traté de establecer este valor desde un archivo js:
$(document).ready(function(){
$(''#foo'').val(''foo'')
})
pero en la fuente html el atributo no está configurado en absoluto. Si trato de configurar el tipo de entrada para "botón" o cualquier otra cosa, funciona. Simplemente no puedo hacerlo con un campo de entrada hidden
. ¿Qué estoy haciendo mal?
¿Puedes recuperar el valor del campo oculto si configuras la etiqueta val?
p.ej
<input type="hidden" id="foo" name="foo" value="bar" />
$(document).ready(function(){
alert($(''#foo'').val());
})
Confirmé que establecer el valor de un campo oculto no funciona con un selector jQuery como este ...
$(''[name="my_field"]'').val(''Something'');
No actualizará un campo oculto ... un poco impactante.
<input type="hidden" name="my_field" id="my_field">
Se vio obligado a usar un campo oculto de CSS en su lugar.
<input type="text" name="my_field" id="my_field" style="display:none">
Aparentemente hay otros problemas con el uso de la identificación de un campo oculto también ... Establecer el valor del campo oculto en un formulario usando ".val ()" de jQuery no funciona
Nota: asegúrese de obtener el valor en la consola y no inspeccionando.
$(''[name="my_field"]'').val();
En lugar de inicializar su atributo de valor con una cadena inicialice su entrada de esta manera.
<input type="hidden" name="foo" id="foo" value="${foo}">
"foo" contendrá el nuevo valor que configuró también.
La mejor respuesta que encontré fue en la forma http://forum.jquery.com/topic/passing-value-to-hidden-form-field .
En lugar de $(''#Data'').val(data);
Donde el ID del campo oculto es ''Datos''
Use $(''input[name=Data]'').val(data);
Funciona perfectamente para mi
Me lo imaginé. El valor fue establecido por jQuery, pero cuando lo visualicé, el nuevo valor no se mostró. Intenté esto (gracias a Fermin):
$(''#foo'').val(''poo'')
alert($(''#foo'').val())
y mostró el valor modificado.
Ninguna de las soluciones anteriores funcionó para mí.
Tuve que hacer lo siguiente para que funcione:
$(''#foo'').val(data).blur();
Sé que es tarde, pero aún así podría ayudar a alguien ... Si ninguna de las soluciones anteriores funciona, solo haz esto ...
$(document).ready(function() {
$(''#foo'').attr("value","foo") });
También he estado luchando con esto. Si establece un valor inicial, digamos ''0'', y luego mira el DOM usando algo como Firebug, notará que el DOM se actualiza. Por alguna razón, si el valor inicial se establece en nulo o en una cadena vacía, el DOM no se actualiza, pero el valor aún se almacena.
Puede probar esto al alertar al val después de haberlo configurado (como se sugirió en publicaciones anteriores)
Tendría que ver todo el archivo, pero supongo que no está incluyendo el archivo fuente jQuery.js o tiene varios elementos con un ID de foo
Tuve el mismo problema con un campo de entrada oculto. Si establezco el valor inicial en 0, funciona bien, pero a veces no quería tener un valor inicial de 0. Entonces probé con value = "", un espacio en blanco, y también me funciona. Si completa la dinámica de valor de PHP, puede hacer value="<?= $val+0; ?>"
Si 0 está bien para usted, o value="<?= $val; ?> "
Si un espacio en blanco está bien .
Tuve este problema cuando PUBLICÉ mi formulario y mi script PHP no pudo obtener el valor de POST
-ed. Usé esto:
$(''#elemId'').attr("name", theValue);
Espero eso ayude.