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”
Często podmieniasz fragmenty stringów (cakePHP)?
Jeśli tak – mam dla Ciebie małą podpowiedź String::insert()
Przydatne, jeśli potrzebujesz zdefiniowany łańcuch w którym podmieniasz tylko niektóre fragmenty:
$wiadomosc = ":name ma :pet";
echo String::insert(
$wiadomosc,
array(
"name"=>"Ala",
"pet" => "Kota"
)
); // Ala ma Kota
Z pewnością uprości to Twój kod, jeśli znikną z niego wszystkie str_replace itp.
Polecam też resztę klasy String i innych w cake/lib – często okazują się przydatne.
cakephp comments
Posted by Greg in CakePHP on March 11th, 2010
Mam wielu gości, którzy wpadają na tego bloga przez frazę “cakephp comments”. Niestety lądują tu przez przypadek – piszę o cakephp i na końcu każdego postu są komentarze
Nic interesującego i potwierdza to bounce rate powyżej 99%
Jednak mimo, że osobiście nie mam nic do zaoferowania w tej kwestii – mogę pozostawić drogowskaz dla wszystkich poszukujących:
Plugin komentarzy cakePHP
Jak już podepniecie ten mechanizm w swoich systemach – wpadnijcie znów do mnie i poczytajcie o tym jak stworzyć fajny widok zbiorczy web 2.0 i poznać przy okazji możliwości jQuery.
Powodzenia!
CakePHP, comments, plugin
No Comments