submit bez presmerovania

Programovacie jazyky, rady, poradňa...
fortes
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 19 máj 2008, 16:18
Bydlisko: TT

submit bez presmerovania

Príspevok od používateľa fortes »

Zdravim, potreboval by som vediet, ci existuje nieco na poslanie hodnot v inpute bez presmerovania na form action...priklad:

Kód: Vybrať všetko

<form method=post action=skript.php>
<input type=hidden name=nazov value=1>
<input type=submit>
</form>
a ja by som potreboval poslat hodnotu name na skript.php, bez toho aby ma na nu presmerovalo, zaroven ale skript.php musi prijat moje cookie, nie je na to nejaka funkcia?
Zatial co som sa maximalne dozvedel pomocou fsockopen, fputs nieco, ale neviem to spojazdnit aby poslalo aj hodnoty...
Dik za odpoved
Mek
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4661
Registrovaný: 23 mar 2005, 23:00
Bydlisko: ZA <-> TN
Kontaktovať používateľa:

Príspevok od používateľa Mek »

input type daj button, a na jeho udalost onclick zaves ajaxovsku funkciu, ktore hodnoty input policok posle php skriptu.
myslim, ze inak ako cez ajax sa to ani neda.
fortes
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 19 máj 2008, 16:18
Bydlisko: TT

Príspevok od používateľa fortes »

dik a ta ajax funkcia by ako vyzerala? v ajaxe neviem nic...
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Príkladov máš na internete kopec. Napr.: http://www.phpbuilder.com/board/showpos ... ostcount=2
fortes
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 19 máj 2008, 16:18
Bydlisko: TT

Príspevok od používateľa fortes »

hmm ma to fungovat aj na inych serveroch? ide mi to len na tom kde mam ulozeny skript.....teda nesposle formular na hocijaky iny server, ako pomocou normal. submitu
jurko.info
Medium Expert
Medium Expert
Príspevky: 108
Registrovaný: 22 nov 2006, 0:16
Kontaktovať používateľa:

ahoj

Príspevok od používateľa jurko.info »

Pokiaľ nebude mať php skript "script.php" žiaden výstup, tak nedôjde v prehliadači k inicializácii prekreslenia obrazovky a ostane zobrazená pôvodná stránka. Podobne fungujú napr. downloady.
fortes
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 47
Registrovaný: 19 máj 2008, 16:18
Bydlisko: TT

Príspevok od používateľa fortes »

len ja som umiestnil script.php na 2 rozne servery, vzdy to fungovalo len na jednom. Ked som chcel poslat form z jedneho servera na druhy, uz sa obrazovka neprekleslila...
...
Expert
Expert
Príspevky: 157
Registrovaný: 07 apr 2006, 18:13

Príspevok od používateľa ... »

ano, pripojenia ajaxu su obmedzene na domenu z ktorej bol nacitany skript, z bezpecnostneho hladiska (inak by sa s tym dali robit "pekne" prasacinky)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ten problém sa obchádza použitím iframe.
martin323
Amateur
Amateur
Príspevky: 22
Registrovaný: 14 okt 2008, 17:44

Príspevok od používateľa martin323 »

pouzivam tuto funkciu:

Kód: Vybrať všetko

	function add(){
		$.ajax({
			type: "POST",
			url: "res.php",
			data: 	"listtext=" + document.getElementById("listtext").value + 
					"&userid=" + document.getElementById("userid").value,
			success: function(html){
				$("#response").html(html);
			}
		});
		
		}

<form action="" method="post">
<input type="hidden" name="listtext" value=obsah id="listtext"/>
<input type="hidden" name="userid" id="userid"/>
<input type="image" name="submit" id="submit" value="Add" onclick="add()"/>
</form>



Mam 2 odlisne obrazky, a potreboval by som to spravit tak, ze po kliknuti na prvy sa posle ina hodnota a po kliku na druhy zase ina. Dalo by sa to spravit pomocou jedneho <form>? Zatial ma nenapada nic ine ako spravit 2 odlisne formulare s roznym obsahom v hidden inpute, alebo volat 2 odlisne funkcie, kde kazda posle iny hidden input. Ide to aj nejak lahsie?

//mozno by to islo pridanim do definicie funkcie, nieco ako add(input) a poslalo by ten input ktory by obsahovalo volanie funkcie, len v java sa nevyznam..
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Na toto javu nepotrebuješ (stačí ti aj javascript). ;)

Tá zmes klasického javascriptu a jQuery je dosť zvláštna, každopádne nie je problém pridať tam jeden parameter a ten si potom pridať do data (nič nepíšeš o tom, čo presne chceš dosiahnuť, takže neviem, aké riešenie bude najlepšie).
martin323
Amateur
Amateur
Príspevky: 22
Registrovaný: 14 okt 2008, 17:44

Príspevok od používateľa martin323 »

napisem priklad:

Kód: Vybrať všetko

<form>
<input type=hidden name=ano value=1>
<input type=hidden name=nie value=1>
<input type=image value=Ano onclick="add(ano)">
<input type=image value=Nie onclick="add(nie)">
</form>
Ked sa klikne na Ano, posle len $_POST[ano] , ak sa zasa klikne na Nie, posle len $_POST[nie]. Asi by to malo ist pridanim toho parametru, napr. add(ano). Keby si mi pomohol upravit tu funkciu, podla toho prikladu.
Ja sa ani v javasript nevyznam, kebyze hej tak su asi aj tie hidden inputy v mojom priklade zbytocne a poslal by som to rovno cez javascript.


Takze este raz, ide mi len o to, rozlisit na ktory obrazok sa kliklo.(Ano,Nie). Vysledok poslem do databazy. Bez refreshu stranky.

mozno nejak takto:

Kód: Vybrať všetko

			function add(obsah){
		$.ajax({
			type: "POST",
			url: "res.php",
			data: 	"listtext=" + obsah,
			success: function(html){
				$("#response").html(html);
			}
		});
		
		}
len to akurat nefunguje :D
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Ono to takmer funguje. Problém je v tom, že ti tam chýbajú úvodzovky/apostorfy. Správne je teda niečo ako:

Kód: Vybrať všetko

<form>
<input type=image value=Ano onclick="add('ano')">
<input type=image value=Nie onclick="add('nie')">
</form>
Samozrejme ak potrebuješ urobiť iba toto, asi je zbytočné používať form a možno ti bude stačiť aj <a><img></a> (a možno aj nie, keďže netuším, prečo tam máš form a nie obyčajné linky).

Inak tá funkcia môže vyzerať aj takto:

Kód: Vybrať všetko

function add(obsah){
	$("#response").load("res.php", {listtext: obsah});
	return false;
}
prípadne by to mohlo vyzerať nejako takto:

Kód: Vybrať všetko

<script type="text/javascript">
$(function(){
	$("#yn-form input").click(function(){
		$("#response").load("res.php", {listtext: this.value});
		return false;
	});
});
</script>

<form id="yn-form">
<input type=image value=Ano>
<input type=image value=Nie>
</form>
martin323
Amateur
Amateur
Príspevky: 22
Registrovaný: 14 okt 2008, 17:44

Príspevok od používateľa martin323 »

super, dik :)
Napísať odpoveď