Temat: Formularz na podstronie.
zamiast używać ajaxa do ładowania dynamicznego mógłbyś użyć np. php
linki index.php?id=cos
później
<php $id=$_GET["id"];
if ($id=="cos")
{
include("strony/pregierz.phpp");
}
?>
Ale domyślam się, że właśnie z punktu technologicznego wykonania strony nie możesz :)
Generalnie napisanie czegoś takiego w jQuery nie będzie problemem i dużo czasu Ci nie zajmie.
Powiem szczerze, że w tej chwili nie myślę po pracy i kodowaniu cały dzień, ale spróbuj coś w ten deseń :-)
ale tak na szybkiego to po prostu przekaż to tak:
tyle w body:
<div id="form">
<form method="post" action="pregierz.php" onsubmit="funkcja()">;
Wybierz świat:
<select name="swiat">
<option value="1"<? if($_SESSION['swiat'] == 1) echo ' selected'; ?>>Świat 1</option>
<option value="2"<? if($_SESSION['swiat'] == 2) echo ' selected'; ?>>Świat 2</option>
<option value="3"<? if($_SESSION['swiat'] == 3) echo ' selected'; ?>>Świat 3</option>
</select>
<input id="zmien_swiat" type="submit" value="Zmień" onclick="return refresh();">
</form>
</div>
<div id="targetDiv">
</div>
a później w pliku pregierz.php napisz obsługę danych wyjściowych i pobieraj je z ajaxa, formularz niech zniknie bo jest w danym divie (oczywiście najpierw w stylach daj że "targetDiv" jest hidden)
function funkcja(){
document.getElementById('targetDiv').style.visibility = 'visible';
document.getElementById('form').style.visibility = 'hidden';
return true;
//a tu dopisz funkcje, która pobierze dane, które zwrócił plik pregierz.php i obsłuży to.
}
coś w ten deseń, jak mówię nie wiem jaki efekt chcesz uzyskać i do czego to użyć, w ten sposób można np. wysłać dane z formularza do pliku, który je odbierze i w zależności od tego jakie będą to dane zwróci podaną zmienną np. generalnie ma być sleep(1); ale po wykonaniu jakiejś akcji np. $result = 1;
na końcu pliku php
<script language="javascript" type="text/javascript">window.top.window.funkcja(<?php echo $result; ?>);</script>
i możesz sobie później w ajaxie odebrać te dane i przypisać, że np.
var result = '';
if (success == 1){
result = 'poszło ok';
}
else {
result = 'cos jest zle';
}
możesz spróbować pójść tym tokiem myślenia, jakbym dokładniej wiedział jaki rezultat chcesz uzyskać mógłbym coś więcej powiedzieć :)
Maciej Kmiecik edytował(a) ten post dnia 01.12.10 o godzinie 23:50