Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Stary problem
Forum PHP.pl > Forum > PHP
Anarion
Pamietacie jak pytalem jak zrobic w <form>ie javascript?questionmark.gif
Dostalem odpowiedz ale on nie dziala :? tongue.gif
<form action="java script:okno("poll.php?wybrana_opcja=$option"); method="post">
Jak zrobic to poprawnie?questionmark.gif
Anarion
Moze wyjasnie dokladniej chodzi mi o przeslanie formem danych do pliku poll.php w nowym oknie, za pomoca javascriptu...
steru
Cytat
Pamietacie jak pytalem jak zrobic w <form>ie javascript?questionmark.gif
Dostalem odpowiedz ale on nie dziala :? tongue.gif
<form action="java script:okno("poll.php?wybrana_opcja=$option"); method="post">
Jak zrobic to poprawnie?questionmark.gif

<form action='java script:okno("poll.php?wybrana_opcja=$option");' method="post">
a napisales sobie funkcje ono() questionmark.gif
Anarion
Tak, funkcja jest OK...
Problem w tym ze w po wygenerowaniu strony kod ma postac:
<form action="java script:okno("poll.php?wybrana_opcja="); method="post">
Wiem ze dzieje sie tak bo nie ma wtedy jeszcze zdefiniowanej zmiennej $wybrana_opcja...
Oto kod skryptu:
Kod
<?

if($voting!=1)

{

$actpid=mysql_fetch_array(sql("select MAX(pollid) from polls;"));

$que=mysql_fetch_array(sql("select l1 from polls where pollid = $actpid[0] and textid = 0;"));

$anbr=mysql_fetch_array(sql("select count(*) from polls where pollid = $actpid[0] and textid = 1;"));

$fans=mysql_fetch_array(sql("select min(id) from polls where pollid = $actpid[0] and textid = 1;"));

$f=$fans[0];

$e=$fans[0];

for($i=1;$i<16;$i++)

    {

     $res=mysql_fetch_array(sql("select l1 from polls where id = $f;"));

     ${'ans'.$i}=$res[0];

     $f++;

    }

    echo("<br><center><span class="sonda">$que[0]</span></center>");

    echo("<form method="post" action="javascript:okno('poll.php?wybrana_opcja=$var,'300','600')" >");

    echo("<input type="hidden" name="que" value="$que[0]";>");

    echo("<input type="hidden" name="lng" value="l1";>");

    for($n=1;$n<=$anbr[0];$n++)

  {

    echo("<input type="radio" name="var" value="$e" class="sonda2"><span class="sonda2">${'ans'.$n}</span><br>");

    $e++;

  }

}

echo("<br><center><input type="submit" value="OK"></center></form>");

?>
wool
Na początku chyba powinieneś mieć coś takiego:
<script language="javascript">
function okno()
{
window.open();
}
</script>
Anarion
smile.gif Takie cos jest... dalem tylko skrypt, zapewniam Cie ze z javascriptem jest w porzadku...
wool
A dokładniej co nie działa :?:
może być także coś takiego dla skrócenia kodu:
echo("<form method="post" action="java script:window.open('poll.php?wybrana_opcja=$var,'300','600')" >");
castor
Cytat
Pamietacie jak pytalem jak zrobic w <form>ie javascript?questionmark.gif


nie pamietamy smile.gif

opisz jeszcz raz co chcesz osiagnac to moze ci sie pomoze :wink:
Anarion
Chce zeby po kliknieciu przycisku OK wyskakiwalo okienko (javascriptem) do ktorego przeslalbym dane z sondy...
Mam nadzieje ze zrozumieliscie tongue.gif
wool
Nie musisz przesyłać tego URL. Bez tego się obejdzie. Wywołaj zmmienne w poll.php i tyle.
castor
Cytat
Chce zeby po kliknieciu przycisku OK wyskakiwalo okienko (javascriptem) do ktorego przeslalbym dane z sondy...
Mam nadzieje ze zrozumieliscie tongue.gif


wyslij normalnie dane do jakiegos tam skryptu, a tu napisz funkcje z settimeout w JS, ktora po np:2 sec. otworzy okienko z urlem jakiegos skryptu ktory juz pokaze wyniki sondy bo na pewno sa one gdzies zapisywane smile.gif
Anarion
Nie bardzo rozumiem...
Chodzi mi o to zeby otworzyc nowe okno w js zeby strona nie musiala sie przeladowywac...
castor
i chcesz wyslac dane z tego fomuarza na tej stronie ,ktora ma sie nie przeladowywac do skryptu? cos ty wymylil

Jesli bez przeladowania glownej strony to nie formularz!
a jesli formularz to JS ktora przerzuci dane z form na URL..

...i zrob graficzne buttony zawies ja na linkach a w linku wstaw onClick windowOpen() i zawis na urlu dane!
Anarion
ten skrypt co dalem (plik poll.php)
jest zincludowany w index.php i dlatego nie chce robic action=index.php bo cala strona musialaby sie przeladowac od nowa, wiec chce to zrobic na js...
Jesli mozesz to daj kod :wink:
castor
Kod
<html>

<html>

<head>

<script  type="text/javascript">

function myWindow(myUrl,myName,myFeatures){

  var i,f,query;

  f=document.forms['myForm'];

  for(i=0;i<f.elements['var'].length;i++){

     if(f.elements['var'][i].checked){

        break;

     }

  }

  if(i==f.elements['var'].length){

     alert('no a radio to kto zaznaczy!');

     return;

  }

  query='?cos1='+f.elements['cos1'].value+'&cos2='+f.elements['cos2'].value+'&cos3='+f.elements['cos3'].value+'&var='+f.elements['var'][i].value;

  myUrl+=query;

  window.open(myUrl,myName,myFeatures);

}

</script>

</head>

<body>

<form name="myForm">

<input type="hidden" name="cos1" value="dupa">

<input type="hidden" name="cos2" value="dupa1">

<input type="hidden" name="cos3" value="dupa2">

1<input type="radio" name="var" value="1">

2<input type="radio" name="var" value="2">

3<input type="radio" name="var" value="3">

4<input type="radio" name="var" value="4">

<input type="button" name="myButton" value="SendIt" onClick="myWindow('skrypt.php','myName','width=400,height=200');">

</form>

</body>

</html>



w skrypt.php napisz to:
Kod
<pre>

<?

print_r($HTTP_GET_VARS);

?>

</pre>


i sie pobaw :wink:
Mistycus
Tak będzie prościej:
Kod
<FORM name="sonda" target="_blank" action="poll.php" method="get">

    <INPUT name="o1" type="radio">Opcja 1<BR>

    <INPUT name="02" type="radio">Opcja 2<BR>

    <INPUT name="o3" type="radio">Opcja 3<BR>

    <INPUT type="submit" value="Zagłosuj">

</FORM>
castor
Cytat
Tak będzie prościej:


moze i prosciej...

.....ale wyniki sondy chcesz pokazywac w oknie z listwa adresu i innymi pierdolkami? i nawet nie masz mozliwosci pozycjowania tego okna lub ustawienia wielkosci :wink:

..no chyba ze tam onLoad funcion formatWindow() :wink:
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.