Continua adoptar el código para trabajar con IE jQuery ...valor de ajuste de entrada oculto que no funciona como se esperaba en IE7 e IE8
Tengo una div
ocultos que contiene un formulario para editar alguna información. Cuando el usuario selecciona el elemento para editar, se muestra este div y los campos se rellenan con la información del artículo. Que divs (en términos simplificados) se ve así:
<div id="editform">
<form action="" method="post" id="qform" name="qform">
First param: <input name="field1" id="field1"/> <br/>
Second param: <input name="field2" id="field2"/> <br/>
...
<input type="hidden" name="qid" id="qid" value=""/>
<img id="submit" src="..." alt="..." title="..." />
</form>
que usar jQuery para establecer los valores en los campos. Mi función para la apertura de la edición div ve algo como esto:
function edit_item(item_id) {
item = get_item(item_id); //this will return a JS object
$('#field1').val(item.property1);
$('#field2').val(item.property2);
...
$('#qid').val(item_id);
$('#submit').click(function() {
alert($('#qid').val());
$('#qform').ajaxSubmit();
});
}
Todo esto funciona bien en FF, Opera, Webkit y el IE 9, sin embargo en IE7 e IE8, estoy teniendo un problema extraño. Puedo ver que el item_id
se ha configurado correctamente en la función edit_item
, sin embargo, tan pronto como se completa esa función, el valor de entrada oculto (qid
) se restablece a la cadena vacía. Cuando el formulario se somete a ajax, la alerta muestra que el valor es una cadena vacía a pesar de haberse establecido correctamente. Curiosamente, todos los demás campos están bien. Y funciona correctamente en IE 9.
¿Qué me falta aquí? Muchas gracias de antemano.
identificadores están obligados a ser único en la especificación HTML. Tienes múltiplos de "# campo1". Además, los ID no pueden comenzar con una marca de almohadilla. Ver: http://stackoverflow.com/questions/448981/what-characters-are-valid-in-css-class-names –
Gracias por el comentario, sin embargo, este no es el problema. En mi código real, ambos son válidos: identificaciones únicas y sin signo hash: errores tipográficos cuando se crea un código simplificado para la pregunta. –
¿tal vez la función edit_item se activó una vez más con el parámetro item_id incorrecto? has intentado agregar alerta (item_id); línea a la función edit_item? – Serhiy