Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript]użycie java script w polu action formularza
Forum PHP.pl > Forum > Przedszkole
rgrg2
czy można użyć java script w polu action formularza

to działa
  1. echo "<form name='przyklad' id='przyklad' action='checkbox022 3.php' method='post' target='_blank'>";

a to nie
  1. echo "<form name='przyklad' id='przyklad' action='java script:opennewwindow(http://127.0.0.1/xampp/checkbox022 3.php)' method='post'>";

masz jakiś pomysł ?

b4rt3kk
Zmień działanie submita dla tego formularza.

  1. <form name='przyklad' id='przyklad' action='checkbox022 3.php' method='post' target='_blank' onsubmit="twojaFunkcja();'>
  2.  
  3. twojaFunkcja() {
  4. // definicja funkcji, chociażby przekierowanie czy otwarcie pop-upa
  5. }
rgrg2
chodzi mi konretnie żeby otworzyć nową stronę
ale podanym adresem url w funkcji

  1. <script language="JavaScript">
  2.  
  3. function explanation(Site)
  4. {
  5. NewWindow5 = window.open(Site,
  6. "viewwin",
  7. "toolbar=0,width=600,height=290,resizable=no");
  8.  
  9. }
  10. </script>
  11.  
  12. <?php
  13. echo "<form name='przyklad' id='przyklad' action='checkbox022 3.php' method='post' onsubmit='explanation('checkbox022 3.php')' >";
  14.  
  15. //to mi nie działa
  16.  
  17. ?>


tutaj się uruchamia okienko ale bez url
  1. echo "<form name='przyklad' id='przyklad' action='checkbox022 3.php' method='post' onsubmit='explanation()' >";

a to też nie działa
  1. echo "<form name='przyklad' id='przyklad' action='checkbox022 3.php' method='post' onsubmit='explanation('http://127.0.0.1/xampp/checkbox022 3.php')' >";


ale funkcja jest ok i działa w tym przykładzie
  1. <a href="java script:explanation('032.htm')">Click here</a>

wiesz może o co w tych chodzi
dlaczego to nie działa
nospor
Po pierwsze: masz błędy w kodzie co wklejasz....
Po drugie: return false

echo "<form name='przyklad' id='przyklad' action='checkbox022 3.php' method='post' onsubmit=\"explanation('checkbox022 3.php');return false;\" >";
rgrg2
wielkie dzięki teraz jest ok, ale nie wiem
co daje 'return false' i po co otagowanie przez \"
czy to nie może być apostrof, dlaczego w taki sposób ?

uruchomienie w nowym oknie działa
ale ten checkbox022 3.php pisze mi, że nie ma danych z post

echo '<pre>';
print_r($_POST);
echo '</pre>';

więc, to jeszcze nie działa tak jak powinno przy otwieraniu checkbox022 3.php
rozumiem to tak że wywołanie funkcji izoluje dane z post,
czyli ta fukcja ma pobierać te dane które są w input formularzy
ten formularz zawiera np.

echo "\n<input type='hidden' id='numerstrony' name='numerstrony' value='$aktualnynumer' />";
echo "\n<input type='hidden' id='ilewierszy' name='ilewierszy' value='$ileadresownastronie' />";
echo "\n<input type='hidden' id='zapytaniestring' name='zapytaniestring' value='$newzapytanie' />";

po przejściu przez funkcję nie ma danych w post
rozumiem, że chyba trzeba rozbudować fukcję
ale może jest jakiś inny sposób na to
nie mam pojęcia jak z tym dalej ruszyć
nospor
return false - nie wysyła forma. Bez tego, form bym ci poszedł tam gdzie masz action
\" - toż to podstawa php. Polecam dokładną lekturę tego
http://www.php.net/manual/pl/language.types.string.php
rgrg2
bez return false uruchamia mi checkbox022 3.php w nowym oknie bez danych z post
oraz nowy tab w firefox z działającym checkbox022 3.php z danymi post
to dopiero zagadka dlaczego tak jest ?
nospor
Podczas window.open nadajesz oknu nazwę. Powiedzmy że jest to nazwa XYZ. Dla form dodaj parametr: target="XYZ" oraz wywal ten return false. Powinno zadziałać
rgrg2

ok tylko że nazwa okna w parametrze windows.open a nie w przypis newwindowxyz

function explanation(Site)
{
newwindowxyz = window.open(Site,
"XYZ",
"toolbar=0,width=143,height=260,resizable=no");

}

nospor
No przecież napisałem, że w window.open a nie gdzieś indziej....
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.