Posts Tagged FormHelper
Code snippet: ekstrakcja nazwy pola z inputów cakePHP przy pomocy jQuery
Natknąłem się na następujący problem:
Mam formularz wyszukiwania, który wygląda różnie w różnych widokach, jednak na jego podstawie jest budowany url tak samo dla każdego widoku. Na przykład:
// some view
echo $form->create("Model");
echo $form->input("field1");
echo $form->input("field2");
echo $form->input("field3");
echo $form->end("submit");
W zdarzeniu onsubmit chcę wygenerować taki url:
“/field1:value1/field2:value2/field3:value3″
Gdzie valueX to oczywiście wartość danego pola.
Pobranie interesujących nas pól:
$("form input[type!=submit][name!=_method], form select");
Tak można wytargać nazwę pola z “name” inputów (zakładając, że w zmiennej string mamy cały name):
// string.substr(
// string.indexOf("[", string.indexOf("]"))
// ).slice(1, -1);
// nowa, lepsza, prostsza wersja:
string.substr(
string.lastIndexOf("[")
).slice(1, -1)
Całość tworzenia linków:
var params = "";
$("form input[type!=submit][name!=_method], form select").each(
function(index,element) {
params +=
element.name.substr(
element.name.lastIndexOf("[")
).slice(1, -1)+
":"+
element.value+
"/";
}
);
Przydaje się, jeśli pracujesz z parametrami “named”