J'ai un formulaire de recherche avec un certain nombre d'entrées de texte et de listes déroulantes qui se soumettent via un GET. Je voudrais avoir une URL de recherche plus propre en supprimant les champs vides de la chaîne de requête lorsqu'une recherche est effectuée.
var form = $("form");
var serializedFormStr = form.serialize();
// I'd like to remove inputs where value is '' or '.' here
window.location.href = '/search?' + serializedFormStr
Une idée de comment je peux faire cela en utilisant jQuery?
[value]
correspond à tout élément avec l'attributvalue
présent , y compris ceux avec des valeurs vides (ou aucune) valeur. Cela est dû à un bogue dans les versions antérieures de jQuery qui a créé une incohérence entre certaines variantes deinput[value]
et:input[value]
. Prenez, par exemple<input value="foo"><input value=""><input value><input>
,; le bug est illustré dans ce violon .