Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js][html] Jak przypiąc konfirmację pod this.form.submit() ?
Forum PHP.pl > Forum > Przedszkole
kaybee1
Witam,
mam problem z połączeniem this.form.submit() i return confirmSubmit().
Dokładniej mówiąc, posiadam taki formularz:
  1. <?php
  2. <form method="POST" class="hiddenform">
  3. <input type="HIDDEN" name="dellprod" value="{$produkty[p].product_id}">
  4. <input onclick="this.form.submit();" type="button" name="potwierdz" class="dellIcon">
  5. </form>
  6. ?>

Chciałbym pod niego podpiąć następującą czynność:
  1. <?php
  2. onClick='return confirmSubmit("Czy chcesz usunąć produkt o numerze id: {$produkty[p].product_id}?");'
  3. ?>

Jak rozwiązać problem?
skowron-line
  1. function confirmDelete(ide) {
  2. if (confirm("Are you sure you want to delete")) {
  3. ide.form.submit();
  4. }
  5. }

a do forma daj
  1. <input onClick="confirmDelete(this.form)" type="button" name="potwierdz" class="dellIcon">


pisane z palca ale jakos tak
kaybee1
Cytat(skowron-line @ 25.03.2008, 13:21:33 ) *
  1. function confirmDelete(ide) {
  2. if (confirm("Are you sure you want to delete")) {
  3. ide.form.submit();
  4. }
  5. }

Niestety, w moim przypadku nie jest to rozwiązaniem. Opiszę to zagadnienie głębiej. Otóż funkcję mam zapisaną globalnie w osobnym pliku. Wygląda ona następująco:
  1. function confirmSubmit(confirmation)
  2. {
  3. if (confirm(confirmation)) return true;
  4. else return false;
  5. }


Aktualnie polecenie usuniecia produktu jest wydawane za pomocą formularza w nastepujący sposób
  1. <form method="POST" class="hiddenform">
  2. <input type="HIDDEN" name="dellprod" value="{$produkty[p].product_id}">
  3. <input onclick="this.form.submit();" type="button" name="potwierdz" class="dellIcon">
  4. </form>

,gdzie w value otrzymuje się nr id danego produktu.

Teraz chciałbym tą funkcję tak podpiąć pod formularz, aby była ona wykonywana i jednocześnie po potwierdzeniu usuwaby produkt. Wstawiając ją w sposób widoczny poniżej otrzymuję tylko część efektu, produkt nie jest usuwany.
  1. onClick='return confirmSubmit("{$smarty.const.DELETE_PRODUCT_ID}: {$produkty[p].product_id}?");'>

,gdzie "$smarty.const.DELETE_PRODUCT_ID" to nic innego jak wykorzystanie szablonów smarty, pozwalajacych w tym przypadku zastosować wiele języków (pod konkretną zmienna jest przypisany opis dla każdego z dostępnych języków).
Nie mogę zatem wrzucic tekstu potwierdzenia (czyli w tym przypadku zmiennej $smarty.const....) bezpośrednio do funkcji, bo już np. w innym pliku treść zapytania będzie brzmieć inaczej (np. $smarty.const.DELETE_CATEGORY_ID).
Mam nadzieje, że w miarę zrozumiale to wytłumaczyłem wacko.gif .
Proszę jakąś mądrą głowę o radę.
arecki
Może o to Ci chodziło ? :
  1. <form method="POST" class="hiddenform">
  2. <input type="HIDDEN" name="dellprod" value="{$produkty[p].product_id}">
  3. <input onclick="if(confirmSubmit('Czy chcesz usunąć produkt o numerze id: {$produkty[p].product_id}?')) this.form.submit(); else return false;" type="button" name="potwierdz" class="dellIcon">
  4. </form>



A poza tym to po co przepisałeś funkcję confirm() na confirmSubmit() skoro nie zrobiłeś w niej nic ponad to co ona robi ?
siemakuba
Proszę o zapoznanie się z zasadami pisania na forum Przedszkole a następnie przesłanie mi lub innemu moderatorowi poprawionego tematu wraz z linkiem do wątku.

Do tego czasu zamykam.

pozdr.

-- Poprawiony tytuł - otwieram (cysiaczek)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.