Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

pytanie co do ajax'u


LoneyPL

Rekomendowane odpowiedzi

Opublikowano

Siema mam takie pytanie czy np formularz który wysyła dane bez odświeżania strony (w ajax'ie) można testować na localhost ?

Bo wywala mi error :( próbowałem chyba wszystkiego i nic :(

 

P.S

uczę się dopiero :P

Opublikowano

Więc obczjam ten temat:

http://blog.grabowski.ostrowwlkp.pl/kursy/jquery-3-ajax-i-obsluga-formularzy#codesyntax_8

 

 

Plik php gdzie pokazuje formularz

 

echo'<form action="">
<input type="text" name="tekst" />
<input type="button" id="guzik" value="KLIK" />
</form>
<div id="kontener"></div><br>';

 

JavaS.

 

<script type="text/javascript">
jQuery(document).ready(function() {
$("#guzik").click(function() {
var tekst = $('input[name=tekst]').val();

$.ajax({
url: "php1.php",
type: "POST",
data: "indeks="+tekst,
success: function(msg) {
$("#kontener").text(msg);
}
});
});
});
</script>

 

PHP wysyła dane do bazy :

require_once('inc/system.php');
if(!isset($_POST['indeks'])) {
echo'Nie przeslano zmiennej "indeks"';
} elseif($_POST['indeks'] == "wartosc") {
echo'Zmienna "indeks" ma wartosc "wartosc"';
mysql_query("update xxx set test = ".$_POST['indeks']." where gracz = ".$zalogowany."");
} else {
echo'Zmienna "indeks" NIE ma wartosci "wartosc"';
}

 

Nie działa mi to nie wiem może robię coś źle :(

 

 

Po prostu chcę dodać do bazy wpis do bazy z pola indeks jeśli indeks jest równy "wartosc" daje pod tym update ale nie wychodzi :(

Opublikowano

tak tak jest dodana że wszystko działa poprawnie jeśli nie dodam update

 

EDIT:

Zrobiłem test i jeśli wpiszę liczbę do tego pola to updetuje ale jeśli ciąg znaków to już nie :( Oczywiście zmodyfikowałem plik php

Opublikowano

A więc tak :

1. Nie takie jest zastosowanie funkcji text :

$("#kontener").text(msg);

,a takie :

$("#kontener").text(function() { return msg; });

A przynajmniej tak mam w książeczce i działa :)

 

Nie wysyła danych ? :

<script type="text/javascript">
jQuery(document).ready(function() {
$("#guzik").click(function() {
alert("przechodzi do instrukcji");
var tekst = $('input[name=tekst]').val();
$.ajax({ url: "php1.php",
type: "POST",
data: "indeks="+tekst,
success: function(msg) { $("#kontener").text(msg); }
});
});
});
</script>

I jak ci wywala okno to znaczy ,że przechodzi do Instrukcji (wysyła POST'a) ,ale może do złego pliku lub coś w PHP źle

Opublikowano

eMaxx twój kod wgl. nie chce mi nic działać :( (albo nie wiem...)

 

kongo - twój kod działa ale jeśli chcę przesłać do bazy ciąg znaków nie aktualizuje a jeśli liczby to aktualizuje o.O

Opublikowano

Bo w PHP nie definiujesz wartości stringowej tylko intową :

mysql_query("update xxx set test = ".$_POST['indeks']." where gracz = ".$zalogowany."");

A powinno być :

mysql_query("update xxx set test ='".$_POST['indeks']."' where gracz = ".$zalogowany."");

Opublikowano

okey dzięki Kongo muszę zapamiętać że to co napisałeś wyżej :) Oto mi chodziło jak będę miał jeszcze jakieś problemy do dam znać

 

P.S

Tobie też dziękuję eMaxx

Opublikowano

@eMaxx - oj tam niby dobre ,ale dla mnie to jest bez sensu :D bo to tylko sygnał ,że ma być gotowy na WSZYSTKIE zdarzenia (jak dobrze pamiętam) i wtedy wykonuje funkcję :)

 

lol ;3 przeciez w jego kodzie tez jest ta funkcja..

 

<script type="text/javascript">
jQuery(document).ready(function() {
$("#guzik").click(function() {
alert("przechodzi do instrukcji");
var tekst = $('input[name=tekst]').val();
$.ajax({ url: "php1.php",
type: "POST",
data: "indeks="+tekst,
success: function(msg) { $("#kontener").text(msg); }
});
});
});
</script>

 

Żeby cokolwiek wykonać (kliknięcie, najechanie, zjechanie z elementu), musisz to wsadzić miedzy tą funkcję..

 

Poza możesz jedynie pisac funkcje i później je wykorzystać.

Opublikowano

Tak poza tematem, jeżeli AJAX to tylko z biblioteką manageAjax, Inaczej nie ma sensu operować (wygoda).

Przykładowy kod;

var ajax = $.manageAjax.create('cacheQueue', {
queue: true,
maxRequests:5,
abortOld:true,
preventDoubbleRequests:true,
cacheResponse: false
});

function get(location,div,form)
{
ajax.add({
		contentType: "application/x-www-form-urlencoded;charset=UTF-8",
		type: "GET",
		url: location,
		dataType: "json",
		beforeSend:function() {

		},
		success: function(data){
			if (data.error) jAlert(data.error,"");
			else
			{
switch(form)
{
case 0:
$('#' + div).html(data.req);

break;
case 1:
okienko(div,data.req);
break;
case 2:
return data.req;
break;
case 3:
jAlert(data.req,div);
break;
}

			}
	}

	});


}




 

Wcięcia się tu lekko popsuły.

Opublikowano

A mam takie jeszcze pytanie jak nadać kodowanie znaków UFT-8 plikowi php1.php by np: wywalał error z polskimi znakami ?

:)

Opublikowano

Nie rozumiem. Jak normalnie przesyłasz dane Ajax'em to są one przesyłane w UTF-8

 

No ale zamiast polskich znaków mam "krzaczki" :P

 

W sekcji head dodajesz nagłówek z charsetem.

 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

 

A w edytorze zmieniasz format kodowania na UTF-8 bez BOM.

 

jeśli o to w ogóle chodzi ;f

mam takie coś ale w pliku o szablonie a nie dołączam do pliku php1.php pliku szablon :(

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...