Thread View: pl.comp.lang.javascript
7 messages
7 total messages
Started by DG
Tue, 03 Jul 2012 19:06
jquery ajax problem
Author: DG
Date: Tue, 03 Jul 2012 19:06
Date: Tue, 03 Jul 2012 19:06
70 lines
2946 bytes
2946 bytes
Witam grupowiczów mam taki oto kod przykładowy kod: ( Nie wiem co jest nie
tak ale nie działa przesyłanie ajaxem formularza do skryptu
<?php
echo('<div id="dg_zgoda" >');
echo('<form id="dg_zgoda_form" method="POST" >');
echo('<input type="hidden" name="id" value="'.$id.'" />');
echo('<input id="dg_zgoda_checkbox" type="checkbox" name="zgoda" value="1"
checked="checked"/>Wyrażam zgodę<br/>');
echo('<input id="dg_zgoda_submit" type="submit" value="Wyślij"
name="submit"/>');
echo('</form><div id="jakis_to"></div></div>');
?>
<script type="text/javascript">
$(document).ready(function(){
alert("dziala skrypt");
var idklient = "<?php echo($objKlienci->idklient);?>";
var zgoda = "<?php echo($objKlienci->zgoda);?>";
var file = location.protocol + "//" + location.host + "/skrypt.php";
var dane = $('#dg_zgoda_form').serialize();
$('#dg_zgoda_form').submit(function(){
$.ajax({
type: "POST",
url: file,
data: dane,
beforeSend: function() {
alert(file);
},
success: function(html){
alert("Wyslano succes");
$('div#jakis_to').html(html);
$('#dg_zgoda').hide();
//window.history.go(-2);
},
error: function(msg) {
alert("Err" + msg.toString());
},
complete: function() {
alert("Complete");
}
});
});
});
</script>
Oraz 2 gi skrypt do którego są przesyłane ajaxem przez post dane:
<?php
$test='test';
$id=$_POST['id'];
$pole=$_POST['pole'];
if (isset($_POST['pole']))
{
$con=mysql_connect('localhost',$test,$test) or die('Nie mogę połączyć z
baza');
$sel=mysql_select_db(test) or die("nie moge wybrać bazy d.");
$sql="UPDATE `abc` SET `pole`=$pole where `id`= $id";
$query=mysql_query($sql) or die("Nie mogę zrobić do bazy update");
echo("Wpis");
}
?>
Coś tu nie działa wywala alert "err object Object"
Co tu w tym skryptach jest nie tak może wy coś wymyślicie bo ja już cały
dzień siedzę nad tym.
Pozdrawiam
DG
Re: jquery ajax problem
Author: Konrad Karpieszuk
Date: Tue, 03 Jul 2012 19:37
Date: Tue, 03 Jul 2012 19:37
18 lines
1546 bytes
1546 bytes
Dnia Tue, 03 Jul 2012 21:06:45 +0200, DG napisał(a):
> Witam grupowiczów mam taki oto kod przykładowy kod: ( Nie wiem co jest
> nie tak ale nie działa przesyłanie ajaxem formularza do skryptu <?php
> echo('<div id="dg_zgoda" >');
> echo('<form id="dg_zgoda_form" method="POST" >');
> echo('<input type="hidden" name="id" value="'.$id.'" />');
> echo('<input id="dg_zgoda_checkbox" type="checkbox" name="zgoda"
nie bedzie na temat, ale: o fak :) tego sie nawet czytac nie chce. sprobuj
choc troche pisac nie w 'php spaghetti' a ulatwisz sobie i nam zycie
po co echo w kazdej nowej linii? po co w nawiasach?
--
pozdrawiam, Konrad Karpieszuk http://tradematik.pl
Re: jquery ajax problem
Author: DG
Date: Tue, 03 Jul 2012 19:55
Date: Tue, 03 Jul 2012 19:55
69 lines
2974 bytes
2974 bytes
Bez php spagetti:) :
Witam grupowiczów mam taki oto kod przykładowy kod: ( Nie wiem co jest nie
tak ale nie działa przesyłanie ajaxem formularza do skryptu
<div id="dg_zgoda" >
<form id="dg_zgoda_form" method="POST" >
<input type="hidden" name="id" value="<?php echo($id);?>" />
<input id="dg_zgoda_checkbox" type="checkbox" name="zgoda" value="1"
checked="checked"/>Wyrażam zgodę<br/>
<input id="dg_zgoda_submit" type="submit" value="Wyślij"
name="submit"/>
'</form><div id="jakis_to"></div></div>
<script type="text/javascript">
$(document).ready(function(){
alert("dziala skrypt");
var idklient = "<?php echo($objKlienci->idklient);?>";
var zgoda = "<?php echo($objKlienci->zgoda);?>";
var file = location.protocol + "//" + location.host + "/skrypt.php";
var dane = $('#dg_zgoda_form').serialize();
$('#dg_zgoda_form').submit(function(){
$.ajax({
type: "POST",
url: file,
data: dane,
beforeSend: function() {
alert(file);
},
success: function(html){
alert("Wyslano succes");
$('div#jakis_to').html(html);
$('#dg_zgoda').hide();
//window.history.go(-2);
},
error: function(msg) {
alert("Err" + msg.toString());
},
complete: function() {
alert("Complete");
}
});
});
});
</script>
Oraz 2 gi skrypt do którego są przesyłane ajaxem przez post dane:
<?php
$test='test';
$id=$_POST['id'];
$zgoda$_POST['zgoda'];
if (isset($_POST['zgoda']))
{
$con=mysql_connect('localhost',$test,$test) or die('Nie mogę połączyć z
baza');
$sel=mysql_select_db(test) or die("nie moge wybrać bazy d.");
$sql="UPDATE `abc` SET `pole`=$pole where `id`= $id";
$query=mysql_query($sql) or die("Nie mogę zrobić do bazy update");
echo("Wpis");
}
?>
POPRAWIŁEM i ta wersja też nie działa
żadna nie działa POMOCY
Re: jquery ajax problem
Author: Konrad Karpieszuk
Date: Tue, 03 Jul 2012 20:20
Date: Tue, 03 Jul 2012 20:20
17 lines
1466 bytes
1466 bytes
Dnia Tue, 03 Jul 2012 21:55:55 +0200, DG napisał(a):
> $('#dg_zgoda_form').submit(function(){
> $.ajax({
> type: "POST",
> url: file,
> data: dane,
probujesz w parametrze data wyslac coś co niby jest w zmiennej 'dane',
ktorej nigdzie wczesniej nie zainicjowales (przynajmniej nie ma jej w
kodzie). te linijke mozesz afaik w ogole wykasowac.
btw: korzystaj z firebuga, on pewnie w tym momencie by ci zglosil w
konsoli ze zmienna 'dane' nie istnieje
--
pozdrawiam, Konrad Karpieszuk http://tradematik.pl
Re: jquery ajax problem
Author: Konrad Karpieszuk
Date: Tue, 03 Jul 2012 20:22
Date: Tue, 03 Jul 2012 20:22
12 lines
1158 bytes
1158 bytes
Dnia Tue, 03 Jul 2012 21:55:55 +0200, DG napisał(a): > var file = location.protocol + "//" + location.host + "/skrypt.php"; no i jeszcze to. wystarczy afaik samo: var file = "skrypt.php"; -- pozdrawiam, Konrad Karpieszuk http://tradematik.pl
Re: jquery ajax problem
Author: Paweł Piskorz
Date: Wed, 04 Jul 2012 20:08
Date: Wed, 04 Jul 2012 20:08
24 lines
1703 bytes
1703 bytes
W dniu 2012-07-03 22:20, Konrad Karpieszuk pisze:
> Dnia Tue, 03 Jul 2012 21:55:55 +0200, DG napisał(a):
>> $('#dg_zgoda_form').submit(function(){
>> $.ajax({
>> type: "POST",
>> url: file,
>> data: dane,
>
> probujesz w parametrze data wyslac coś co niby jest w zmiennej 'dane',
> ktorej nigdzie wczesniej nie zainicjowales (przynajmniej nie ma jej w
> kodzie).
Jest jest, dokładnie przed .submit :)
DG:
var dane = $('#dg_zgoda_form').serialize(); musisz definiować wewnątrz
funkcji która jest wykonywana przy submit, np. zaraz za:
$('#dg_zgoda_form').submit(function(){
--
message[autor="PablO"]::after {
content:"Pozdrawiam";
}
Re: jquery ajax problem
Author: Herr
Date: Fri, 06 Jul 2012 18:44
Date: Fri, 06 Jul 2012 18:44
39 lines
2209 bytes
2209 bytes
DG wrote:
> Bez php spagetti:) :
>
> Witam grupowiczów mam taki oto kod przykładowy kod: ( Nie wiem co jest nie
> tak ale nie działa przesyłanie ajaxem formularza do skryptu
[ciach kod]
Po pierwsze: wpinasz się w zdarzenie submit() formularza, ale nie
zapobiegasz jego defaultowemu działaniu, czyli przekierowaniu nową
stronę (jeżeli nie podano tego stricte przeglądarka wyśle dane pod
bieżący adres). Masz tu 2 rozwiązania:
1) na samym końcu funkcji wywoływanej podczas zdarzenia submit() dodaj
return false;
(po całym bloku kodu dla $.ajax)
2) Przekazuj do funkcji obsługującej zdarzenie submit() uchwyt do
obiektu ze zdarzeniem:
$('#dg_zgoda_form').submit(function(eEvent)
A potem w kodzie zabroń wykonywania defaultowej akcji dla tego
zdarzenia:
eEvent.preventDefault();
Po drugie: nawet jeżeli request ajaxowy zakończy się powodzeniem, to i
tak uzyskaną informację pakujesz do div#jakis_to opakowanego w
div#dg_zgoda, którą to zgodę następnie... ukrywasz. Otrzymana ajaxem
odpowiedź nie ma szans ukazać się użytkownikowi... Przenieś div#jakis_to
poziom wyżej.
Poniższy kod działa poprawnie:
http://pastebin.com/xcthu0a7
--
Herr C(...)a
mój e-mail? http://cerbermail.com/?YWDqT8olYO
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads