Autor Zpráva
davef6
Profil
proč se mi nepředají data z formuláře do nového okna?

<form name="form" onsubmit="window.open('nahraj_foto.php?<?php if ($_GET[hl_foto]=='1') echo "hl_foto=1"; else echo "hl_foto=0"; ?>', '_blank','status=no,toolbar=no,location=no,menu=no,scrollbars=no,width=392,height=340');" action="#" method="post" ENCTYPE="multipart/form-data">
                              <table summary="Přidat foto">
							  <?php
							    if ($_GET[hl_foto]==0 || $priznak == 1) {
							  ?>
                                <tr>
								  <td class="first_fotogal">Foto:</td>
								  <td><input name="myfile" type="file" /></td>
								</tr>
							  <?php
							    }
							    else {
							  ?>
                                <tr>
								  <td class="first_fotogal" style="color:#FF0000;">Hlavní foto:</td>
								  <td><input name="myfile" type="file" /></td>
								</tr>
							  <?php
							    }
							  ?>
                                <tr>
								  <td class="first_fotogal">Komentář:</td>
								  <td><textarea id="textfield" onKeyPress="over();" class="clasic_ta_2" name="text"></textarea></td>
								</tr>
							    <tr>
							      <td class="first_fotogal"></td>
								  <td colspan="2">Zbývá znaků: <input type="text" name="cislo" size="2" value=" 150" readonly="">
								  <script language="javascript">
                                    function over(){
                                      c=document.form.text.value.length;
                                      f=document.form.text.value;
                                      if(c<=149){
                                        document.form.cislo.value=150-(c+1);
                                        document.form.cislo2.value=c+1;
                                      }
                                      if(c==150){
                                        window.alert("Maximální délka je 150 znaků!");
                                      }
                                      if(c>150){
                                        document.form.text.value=f.substring(0,149);
                                      }
                                    }
                                    </script>
								  
							       </td>
							     </tr>
							   </table>
                               <input type="submit" name="submitBtn" id="odeslat_but_fotogal" value="&nbsp;" />
                             </form>
habendorf
Profil
A action máš kde?
davef6
Profil
action jsem doplnil, jen by mě zajimalo kde může být chyba:)
Chamurappi
Profil
Reaguji na habendorfa:
Atribut action je zbytečný, pokud se odesílá na adresu, která je právě nalistovaná. (Což v tomto případě nevíme, jestli je stejná. Asi není.)


Reaguji na davaf6:
Událost onsubmit se vykonává před odesláním. Takže uživatel klikne na odesílací tlačítko, ty mu otevřeš jakési okno s jakousi adresou a formulář se normálně odpostuje ve svém okně na svoji cílovou adresu. Máš docela neobvyklé zadání.

Potřebuješ otevřít nové okno a zároveň nezasahovat do přirozeného odesílacího procesu. Takže:
1) Do atributu action vyplň adresu cílového PHP skriptu (tedy „nahraj_foto.php?…“).
2) Při onsubmit otevři nové okno metodou window.open, nějak ho pojmenuj (jméno okna určuje druhý parametr) a nalistuj do něj adresu „about:blank“ (tedy prázdnou stránku, nikoliv nahraj_foto.php).
3) Formuláři dej target="jméno-toho-okna".
davef6
Profil
ještě budu trošku otravovat, jak mohu třeba po dokončení skriptu a tom novém okně aktualizovat to staré? díky:)
davef6
Profil
řešil jsem to nakonec takto
<script>window.opener.reload();</script>
......používám to pro upload fotek, dá se ještě nějak udělat že když aktualizuji rodiče, aby se data z odesílacího formuláře vymazala? teď mi tam zůstávají
davef6
Profil
tak už nic, chyba na mé straně:)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0