Autor Zpráva
Holicz
Profil
Zdravím. Učím se PHP, takže se v JS vůbec neorientuji. Mám script pro upload souboru, který soubor nahraje a pak vyjede formulář pro zapsání souboru do databáze. U volby kategorie mám možnost přidání kategorie (v jiném okně). Po obnovení stránky formulář zmizí a proto potřebuji refresh pouze selectu s kategoriemi. Dlouho jsem googloval a nakonec jsem použil jeden script. Jenže je tam obnovení ne na tlačítko, ale po určitém čase. Sice se část obnovuje, jenže místo selectu se pak objeví pole pro vybrání souboru. Script je v hlavičce, pak už se definuje jen DIVem
Kód:
<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>
 <script>
var auto_refresh = setInterval(
function()
{
$('#loaddiv').fadeOut('slow').load('upload.php').fadeIn("slow");
}, 3000);
</script>
</head>
<body>
<?
$id = $_COOKIE['id'];
$nick = $_COOKIE['login'];
$prava = $_COOKIE['prava'];
if ($id == "" or $nick == "")
 {
echo "Sem nemáte přístup!";
die();
 }
if ($prava == "0")
 {
echo "Sem nemáte přístup!";
die();
 }
?>
<b>Vyberte soubor:</b>
<form ACTION="upload.php" METHOD="post" ENCTYPE="multipart/form-data">
<input TYPE="file" NAME="soubor" SIZE="40">
<input TYPE="submit" NAME="ok" VALUE="Upload">
</form>
<?php
$soubor_name = ($_FILES["soubor"]["name"]);
$soubor = ($_FILES["soubor"]["tmp_name"]);
$ok = ($_POST["ok"]);

if ($ok == "Upload" && $soubor_name!="")
{
    if (move_uploaded_file($soubor, "./$soubor_name"))
        {
        chmod ("./$soubor_name", 0646);
        echo ("<fieldset>");
echo("<legend>Přidat článek</legend>");
echo("<table><form method='post'>");
echo("<td>");
echo("Kategorie &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
?>
<div id="loaddiv"> <select name="kategorie" size="1">
<?php
  $dotaz = mysql_query("SELECT id,nazev FROM kategorie");
  while ($vypis = mysql_fetch_array($dotaz)) {
  echo '<option value="' .$vypis["nazev"].'">' .$vypis["nazev"];
  }
?>

    </select></div>&nbsp;&nbsp;<a href="kategorie_mini.php" onclick="window.open('kategorie_mini.php','Přidej kategorii','width=600,height=111,toolbar=0'); return false">Přidat novou kategorii</a>
<?php
/* ZBYTEK FORMULÁŘE */
echo("<tr>");
echo("<td><input type='submit' name='pridat' value='Přidat'></td>"); 
echo("</tr>"); 
echo("</form></table>");
echo("</fieldset>");
        }
    else
        {
        echo "<b>Soubor nemohl být nahrán</b></br>";
        }                
}
?>
</body>
</html>
peta
Profil
A? Co bys chtel po nas?
onclick="$('#loaddiv').load('upload.php')";
Holicz
Profil
No jde mi o to, že i po použití vašeho kodu se mi po refreshi zobrazí upload
Mám v DIVu: <select name="kategorie" size="1" onclick="$('#loaddiv').load('upload.php')";>
ale pokud se provede refresh divu, nahradí se tímto <input TYPE="file" NAME="soubor" SIZE="40">
Ale já potřebuji aby se refreshnul a ne nahradil
peta
Profil
--- stranka.htm ---
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<div id=loaddiv></div>
<input type=button onclick="$('#loaddiv').load('load_kategorie.php')" value="klikni">

--- load_kategorie.php ---
<?php
  // + pripojeni k databazi
  echo '<select>';
  $dotaz = mysql_query("SELECT id,nazev FROM kategorie");
  while ($vypis = mysql_fetch_array($dotaz)) {
  echo '<option value="' .$vypis["nazev"].'">' .$vypis["nazev"];
  }
  echo '</select>';
?>
Netestovano.

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: