| Autor | Zpráva | ||
|---|---|---|---|
| davef6 Profil |
#1 · Zasláno: 4. 3. 2009, 22:09:26 · Upravil/a: davef6
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=" " />
</form> |
||
| habendorf Profil |
#2 · Zasláno: 4. 3. 2009, 22:47:14
A action máš kde?
|
||
| davef6 Profil |
#3 · Zasláno: 4. 3. 2009, 22:55:38
action jsem doplnil, jen by mě zajimalo kde může být chyba:)
|
||
| Chamurappi Profil |
#4 · Zasláno: 4. 3. 2009, 23:09:56
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 |
#5 · Zasláno: 5. 3. 2009, 00:47:51
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 |
#6 · Zasláno: 5. 3. 2009, 09:52:05
řešil jsem to nakonec takto
<script>window.opener.reload();</script> |
||
| davef6 Profil |
#7 · Zasláno: 5. 3. 2009, 10:07:30
tak už nic, chyba na mé straně:)
|
||
|
Časová prodleva: 18 let
|
|||
0