konto usunięte

Temat: Formularz na podstronie.

Witam!

Posiadam pewien problem na stronie... Do dynamicznej obsługi linków wykorzystuję "ezjax" - wszystko działa pięknie i sprawnie, lecz problem pojawia się podczas wysyłania formularzu. Gdy na danej podstronie umieszczę formularz i wyślę go to "ezjax" przestaje działać. Zamiast załadować stronę w danym miejscu, podstrona pokazuję się w całym oknie.

Kodzik do obsługi formularza

<script type="text/javascript" src="../jform.js"></script>
<script type="text/javascript">

$("#zmien_swiat").button()

var options = {
target: '#zawartosc',
type: 'POST',
url: 'pregierz.php'
};

$('#zmienswiat_form').ajaxForm(options);

<form id="zmienswiat_form">
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ń">
</form>
</script>






Z góry dziękuję za pomoc,
Pozdrawiam - Tomasz Furca

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

Następna dyskusja:

formularz i dodawanie zdjęć




Wyślij zaproszenie do