Autor Zpráva
Frenk127
Profil
Zdravím, potřeboval bych poradit s jendou věci.
Mám skript s formulářem, do kterého se zadávají data, která se pak odesílají. V tom formuláři mam taky dropdown list pro vybráni určitého Oboru a potřeboval bych, aby se mi po vybráni hodnoty z toho dropdownlistu ty data zpracovaly nejlépe pomocí tohoto javascriptu :

<script language="JavaScript">
function autoSubmit(){
var formObject = document.forms['pridat'];
formObject.submit();
}
</script>

a pak aby se mi dole do polí pro předměty předvypsaly ty předměty, které patří pod ten určitý obor, který jsem zvolil. Jenže problém je že jeden formlář musím mít na odeslání všech dat, a druhý bych potřeboval jakoby vnořit do toho prvního, aby mi zpracoval ten dropdown list. Máte někdo nějaký nápad, jak by se to dalo vyřešit?? Pls poraďte
muco
Profil *
skus napisat, naco to bude...
Frenk127
Profil
Moc nechapu dotaz na co to bude ........ ale zkusim upřesnit.
Dělám nějakou správu studentů, mno a při přidávání nového studenta musím k němu uvést nějaké údaje. Mno a to co potřebuju udělat by ulehčilo dost práce při zadávaní dat, jelikož chci, aby po vybrání určitého oboru se mi předvypsaly do políček pro předměty, ty předměty které se učí na tom vybraném oboru, bylo by jich tak 20, a pokud by to nebylo takhle, tak by musel každý předmět být vybírán po jednom.

Tak nevim jestli to pomohlo?
pokker
Profil *
co skusit $_get metodu ?
Frenk127
Profil
tak zkusím jinak, tady přikládam pro ukázku kod


<form method="post" action="studenti.php?finish=1" name="studentiPridat2">
<table class="strankovani" style="margin-top:10px">
<tr>
<td width="90">Jméno</td>
<td width="210"><input type="text" name="addJmeno" size="23" /></td>
<td width="90">Osobní číslo</td>
<td width="100"><input type="text" name="addOsCislo" size="15" /></td>
</tr>
<tr>
<td>Příjmení</td>
<td><input type="text" name="addPrijmeni" size="23" /></td>
<td>Titul</td>
<td><input type="text" name="addTitul" size="10" /></td>
</tr>
<tr><td height="8"></td></tr>
</table>
<table class="strankovani">
<tr>
<td width="90">Střední škola</td>
<td><input type="text" name="addStredniSKola" size="35" /></td>
</tr>
<tr>
<td>Obor</td>
<td>

<!-- <form method="post" action="studenti.php?finish=2" name="choiceObor"> onchange="autoSubmit();" -->

<select name="addObor" onchange="autoSubmit();">
<option value="null">Vyberte obor</option>
<?php
$result = mysql_query("SELECT * FROM obor ORDER BY nazev_obor") or die("Špatný dotaz: " . mysql_error());
$rowsFound = mysql_num_rows($result);
if($rowsFound > 0) {
while($row = mysql_fetch_array($result)) {?>
<option value="<?php echo $row["id_obor"]; ?>"<?php if($obor == $row["id_obor"]) echo " selected"; ?> onclick="document.getElementById('idObor').value='<?php echo $row["id_obor"]; ?>';" > <? echo $row["nazev_obor"];?> </option> <?
}
}
else{ //tahle moznost by nemela nastat!
echo"<option value=''>V databázi nejsou žádné záznamy.</option>";
}
?>
</select>

<!-- </form> -->

</td>
</tr>
.
.
.
.
<tr>
<td><input type="submit" value="Odeslat" /></td>
</tr>
</table>
</form>





a pak dole normalně testuji zda byly data odeslané



if (isset($_GET['finish']) && $_GET['finish']==1) {
$addPrijmeni = $_POST['addPrijmeni'];
$addJmeno = $_POST['addJmeno'];
.................atd




ale důležité je to, jak mám u toho addObor vypoznámkovaný formulář ....... tak jestli by to šlo nějak udělat, aby se ty data z tama zpracovávaly způsobem, jaký jsem popsal nahoře. Protože ten formulář u toho addObor je vlastně vnořený do toho prvního formuláře a to nemuže jet .......... neví někdo pls, jak by to šlo vyřešit!!!
krteczek
Profil
no na tohle jsou asi dva způsoby řešení:
1. všechna potřebná data načteš při načtení stránky a pomocí javascriptu zobrazíš/nastavíš to co právě potřebuješ
2. AJAX: podle výběru pošleš post/get požadavek, ten zpracuješ na serveru a vrátíš to co požaduješ (viz: googlemail, texyla, ...)
3. možná něco dalšího, co mne nenapadlo
Frenk127
Profil
krteczek
prosimtě na javascript jsem začátečník, nemohl by jsi naznačit, nebo poradit, jak by ten javascript vypadal, u té možnosti č.1 ?? Moc by mi to bodlo.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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