tag style name modify change bootstrap body attribute jquery serialization fckeditor

style - jquery name attribute



¿Cómo modifico los datos de formularios serializados en jQuery? (2)

Aquí hay un plugin jquery completo basado en la respuesta de @TJ. Puedes llamar

$(''form#myForm'').awesomeFormSerializer({ foo: ''bar'', })

Lo cual reemplazará o agregará el parámetro ''foo'' con el valor ''bar'' (o cualquier otro parámetro que agregue en el objeto)

plugin jQuery:

// Not builtin http://stackoverflow.com/a/5075798/2832282 (function ( $ ) { // Pass an object of key/vals to override $.fn.awesomeFormSerializer = function(overrides) { // Get the parameters as an array var newParams = this.serializeArray(); for(var key in overrides) { var newVal = overrides[key] // Find and replace `content` if there for (index = 0; index < newParams.length; ++index) { if (newParams[index].name == key) { newParams[index].value = newVal; break; } } // Add it if it wasn''t there if (index >= newParams.length) { newParams.push({ name: key, value: newVal }); } } // Convert to URL-encoded string return $.param(newParams); } }( jQuery ));

Estoy tratando de enviar mi formulario en AJAX, así que tengo que serializar () los datos. Pero estoy usando fckEditor y jQuery no sabe cómo manejarlo, así que después de la serialización, estoy tratando de modificar el valor manualmente, pero hasta ahora no tengo suerte ... cualquier idea

if(content_val!=""){ var values = $("#frmblog").serialize(); values.content = content_val; //content_val is the manually fetched data which I am trying to insert into the serialized content. alert(content_val); alert(values); }


serialize devuelve una cadena con codificación URL que contiene los campos del formulario. Si necesita anexarlo, hágalo usando las reglas de cadena codificadas por URL estándar, por ejemplo:

var values = $("#frmblog").serialize(); values += "&content=" + encodeURIComponent(content_val);

(Lo anterior supone que siempre habrá un valor en los values después de la llamada de serialize ; si eso no es necesariamente cierto, determine si se usa & función de si los values están vacíos antes de agregarlos).

Alternativamente, si lo desea, puede usar serializeArray y luego agregar a la matriz y usar jQuery.param para convertir el resultado en una cadena de consulta, pero eso parece un largo camino ''redondo:

// You can also do this, but it seems a long way ''round var values = $("#frmblog").serializeArray(); values.push({ name: "content", value: content_val }); values = jQuery.param(values);

Actualización : en un comentario añadido más tarde dijiste:

El problema es que hay algunos valores predeterminados establecidos en la tecla ''contenido'' durante el proceso de serilización, por lo que no puedo adjuntar un nuevo valor, tengo que actualizar el que ya está en él "

Eso cambia las cosas. Me duele buscar content dentro de la cadena codificada en URL, así que me gustaría ir con la matriz:

var values, index; // Get the parameters as an array values = $("#frmblog").serializeArray(); // Find and replace `content` if there for (index = 0; index < values.length; ++index) { if (values[index].name == "content") { values[index].value = content_val; break; } } // Add it if it wasn''t there if (index >= values.length) { values.push({ name: "content", value: content_val }); } // Convert to URL-encoded string values = jQuery.param(values);

Probablemente quieras hacer de esto una función reutilizable.