Ich habe einige Javascript, die Änderungen an einem Formular abfängt, dann ruft die regelmäßige Senden-Funktion des Formulars. Das Formular ist ein GET-Formular (für eine Suche) und ich habe viele leere Attribute in den Params durchlaufen. Was ich möchte, ist zu tun, alle leere Attribute zu löschen, bevor die Einreichung, um eine sauberere URL zu erhalten: zum Beispiel, wenn jemand das ‚Subjekt‘ auswählen, um ‚Englisch‘ ich will ihre Suche urlLöschen Sie leere Werte aus Formular-Params vor dem Senden
http://localhost:3000/quizzes?subject=English
sein ändert
statt
http://localhost:3000/quizzes?term=&subject=English&topic=&age_group_id=&difficulty_id=&made_by=&order=&style=
wie es im Moment ist. Dies ist nur rein zu dem Zweck, eine sauberere und sinnvollere URL zu haben, um mit und für die Lesezeichen der Leute usw. zu verknüpfen. Also, was ich brauche, ist etwas in dieser Richtung, aber das ist nicht richtig, da ich nicht die tatsächliche Form bearbeite aber ein js Objekt aus der Form des params gemacht:
quizSearchForm = jQuery("#searchForm");
formParams = quizSearchForm.serializeArray();
//remove any empty fields from the form params before submitting, for a cleaner url
//this won't work as we're not changing the form, just an object made from it.
for (i in formParams) {
if (formParams[i] === null || formParams[i] === "") {
delete formParams[i];
}
}
//submit the form
ich glaube, ich bin in der Nähe mit diesem, aber ich vermisse den Schritt, wie die tatsächlichen Form der Attribute zu bearbeiten, anstatt ein anderes Objekt zu machen und das bearbeiten.
dankbar für jeden Rat - max
EDIT - GELÖST - dank der vielen Menschen, die darüber geschrieben. Hier ist, was ich habe, was perfekt zu funktionieren scheint.
function submitSearchForm(){
quizSearchForm = jQuery("#searchForm");
//disable empty fields so they don't clutter up the url
quizSearchForm.find(':input[value=""]').attr('disabled', true);
quizSearchForm.submit();
}
Kann ich nur sagen, es ist cool, sehr Ihr Denken Ihrer Nutzer so. –
Gute Frage und nette Antworten: Ich habe ein großes Suchformular und die meiste Zeit wird nur ein Feld ausgefüllt. Jetzt sind die URLs viel kürzer. – guettli