Witam.

Pewnie niektórzy znają zakładkę "Kontakty" usługi Gmail.

1. Państwo od Google tak wykombinowali, że podczas dodawania nowego kontaktu zmiany które zaszły w jednym z tagów formularza (text, textarea) zostały zapisane.

2. Następnie jeśli dokonano zmiany - poprzez wpisanie wartości do niewypełnionego elementu formularza - lub przez zmianę treści któregokolwiek z wpisanych wcześniej wartości - to te zmiany są zapisywane.


3. Według mnie to (1) = INSERT, a (2) = UPDATE.

Jak by można było to zrobić ? W jQuery jest funkcja change() która sprawdza czy ktoś zmienił coś w polu lub opuścił element. Do tego dorzucić można ajax. To to ja wiem.

Mi się rozchodzi o samą funkcję która sprawdza kiedy należy wykonać INSERT a kiedy UPDATE.

myślałem nad czymś takim:
Kod
var checkState = 0;
$('input, select, textarea').change(function() {
  if (checkState == 0) {
    // wykonaj INSERT
    checkState = 1;
  }
  else
  {
    // wykonaj UPDATE
  }
});


Czy to jest dobre rozwiązanie i pewne że nie wykona mi > niż 2 razy INPUT albo UPDATE questionmark.gif
Może znacie lepsze i pewniejsze??
Czy kod który napisałem jest dobry??

Bo chciałbym zastosować to w administracji.

Proszę o posty.

Pozdrawiam.