🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
7 messages
7 total messages Started by w systemie siła 'PO/EU Sat, 19 Nov 2016 17:00
Panie Lemat pomożesz?
#231498
Author: w systemie siła 'PO/EU
Date: Sat, 19 Nov 2016 17:00
20 lines
1221 bytes
zakładając, że mamy coś takiego:

pis dyma swoich wyborców 1 (*)
EDYTUJ

pis dyma swoich wyborców 2 (*)
EDYTUJ

pis dyma swoich wyborców 3 (*)
EDYTUJ

UKRYJ

czy da się zrobić taki formularz?

czyli editem edytujemy jeden wpis,
ale mamy mozliwość zaznaczenia jakiegoś znacznika ukrycia który 
modyfikował by zgodnie z wyborem wszystkie wpisy?

jak to zrobić?
Re: Panie Lemat pomożesz?
#231490
Author: Lemat
Date: Sat, 19 Nov 2016 17:27
43 lines
1895 bytes
W dniu 19.11.2016 o 18:00, w systemie siła 'PO/EU pisze:
> zakładając, że mamy coś takiego:
>
> pis dyma swoich wyborców 1 (*)
> EDYTUJ
>
> pis dyma swoich wyborców 2 (*)
> EDYTUJ
>
> pis dyma swoich wyborców 3 (*)
> EDYTUJ
>
> UKRYJ
>
> czy da się zrobić taki formularz?
>
> czyli editem edytujemy jeden wpis,
>
> jak to zrobić?

ale co to ma być?
<input type="radio">
czy
<input type="checkbox">
czy
<input type="text">

a "edytuj" to co to jest?
<input type="submit">
?

 > ale mamy mozliwość zaznaczenia jakiegoś znacznika ukrycia który
 > modyfikował by zgodnie z wyborem wszystkie wpisy?

JavaScript-em:
zaznacz_wszystko() {
document.getElementById("id of checkbox").checked = true;
...
}

-- 
Pozdrawiam
Lemat
Re: Panie Lemat pomożesz?
#231488
Author: w systemie siła 'PO/EU
Date: Tue, 22 Nov 2016 15:29
7 lines
1214 bytes
dzięki za zainteresowanie

chodzi mi o takie jakby zagnieżdżenie formularzy

czyli mamy jeden formularz zewnętrzny obejmujący wpisy na całej stronie,
a drugi formularz wewnętrzny obejmujący tylko jeden wpis na stronie - i 
takich N razy
Re: Panie Lemat pomożesz?
#231492
Author: Lemat
Date: Tue, 22 Nov 2016 17:29
53 lines
3333 bytes
W dniu 22.11.2016 o 16:29, w systemie siła 'PO/EU pisze:
> dzięki za zainteresowanie
>
> chodzi mi o takie jakby zagnieżdżenie formularzy
>
> czyli mamy jeden formularz zewnętrzny obejmujący wpisy na całej stronie,
> a drugi formularz wewnętrzny obejmujący tylko jeden wpis na stronie - i
> takich N razy

<form>ularzy się nie zagnieżdża.

Posłużę się przykładem z twojej ulubionej dziedziny. Wyobraź sobie 
arkusz excela w kolumnami: imię, nazwisko, przynależność do Partii.
Arkusz ma zatem 3 kolumny i N wierszy.

Standardowo <form> otacza cały arkusz przesyłając do skryptu PHP 
wszystkie pola czyli 3*N zmiennych.

Jeżeli otoczyć <form>ularzami każdy wiersz osobno to masz N formularzy - 
o ile dobrze pamiętam submit jednego z nich przesyła do skryptu PHP 
tylko pola w nim zawarte - czyli 3 sztuki.
Ale każdy submit powoduje przeładowanie strony i utratę zmian 
przeprowadzonych w innych wierszach.
Aby wiedzieć który wiersz został przesłany daje się jakiegoś hiddena z 
unikalnym identyfikatorem.

Można jednak przechwycić JavaScriptem zdarzenie onsubmit formularza, 
zapakować hiddena + 3 zmienne do struktury AJAXowej, wysłać do skryptu 
PHP, skrypt PHP zwraca kawałek tekstu, który AJAX odbiera i można z nim 
coś zrobić - na przykład napis "dupa" jeżeli wybrana Partia nie jest 
jedyną słuszną. Funkcja obsługująca onsubmit zwraca false zapobiegając 
przeładowaniu strony i wysłaniu formularza tradycyjną drogą.

Można też Javascriptem przechwycić zdarzenia onblur lub onchange 
konkretnego inputa. Do inputa musiałbyś dodawać niestandardowe atrybuty 
pozwalające zidentyfikować wiersz oraz kolumnę. Te atrybuty oraz wartość 
pola pakujesz w strukturę AJAXową, wysyłasz do skryptu PHP, skrypt PHP 
odpowiada tekstem, który możesz jakoś wykorzystać.


Do poduszki:
http://www.w3schools.com/jsref/event_onsubmit.asp
http://www.w3schools.com/jsref/event_onblur.asp
http://www.w3schools.com/jsref/event_onchange.asp
http://www.w3schools.com/jsref/dom_obj_event.asp
http://www.w3schools.com/xml/ajax_intro.asp
http://www.w3schools.com/tags/att_global_data.asp

PS. napis "dupa" stosuję osobiście kiedy debuguję skrypty - więc nie ma 
się czego wstydzić.
-- 
Pozdrawiam
Lemat
Re: Panie Lemat pomożesz?
#231487
Author: niepełnosprawny intelektualnie '...
Date: Wed, 23 Nov 2016 17:01
4 lines
1227 bytes
dzięki, trochę minie zanim ogarnę...

a tak mi się skojarzyło, można zrobić tak, że wewnętrzny form przesyła 
jedno pole, a zewnętrzny wszystkie?
Re: Panie Lemat pomożesz?
#231494
Author: Lemat
Date: Wed, 23 Nov 2016 17:12
11 lines
1537 bytes
W dniu 23.11.2016 o 18:01, niepełnosprawny intelektualnie 'POPIS/EU pisze:
> dzięki, trochę minie zanim ogarnę...
>
> a tak mi się skojarzyło, można zrobić tak, że wewnętrzny form przesyła
> jedno pole, a zewnętrzny wszystkie?

<form>ularzy się nie zagnieżdża.

-- 
Pozdrawiam
Lemat
Re: Panie Lemat pomożesz?
#231497
Author: Rafal Podsiadly
Date: Thu, 24 Nov 2016 05:29
1 lines
1771 bytes
tak mozna w polu w zdarzniu submit definiujesz pola ktore wysylasz. ale czy button z ajax nie byl by lepszy. ajax http request poczytaj. w takim przypadku tez jest bez sensu zagniezdzac. wystarczy po prostu wiele przyciskow wyslij. a wedlug logiki html jeden formulaz w drugim moga powodowac bledy w sytuacji jak ktos wylaczy javascript
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads