Kde mám chybu?
V něm mám
<div id="results"></div>
<form name="form">
<input type="checkbox" name="form2" /> <span style="color: #999999;">Skryj moje umístění na mapě</span><br><br>
<span style="font-size: 9pt;"> <strong style="color: #999999; background-color:transparent;"><span style="color: #e4e4e4; font-family: Arial;">Jen pro</span></strong><span style="color: #8cc741; background-color: transparent;"><strong><span style="font-family: Arial;"> TOP</span></strong></span><strong style="color: #999999; background-color: #404041;"><span style="color: #e4e4e4; font-family: Arial;"> nebo </span></strong><span style="color: #8cc741; background-color: transparent;"><strong><span style="font-family: Arial;">VIP</span></strong></span><strong style="color: #999999; background-color: transparent;"><span style="color: #e4e4e4; font-family: Arial;"> uživatele:</span></strong></span><span style="font-size: 9pt; font-family: 'arial black', 'avant garde';" data-mce-bogus="1"> <span id="_mce_caret" data-mce-bogus="1"><span style="background-color: transparent;" data-mce-bogus="1"></span></span></span>
<input type="checkbox" name="form3"/> <span style="color: #999999;">Změň svoji pozici na mapě</span><br>
<input type="checkbox" name="form4"/> <span style="color: #999999;">Skryj vzdálenost</span><br>
<input type="checkbox" name="form5"/> <span style="color: #999999;">Skryj datum přihlášení</span><br>
<input type="checkbox" name="form6"/> <span style="color: #999999;">Skryj koho jsem návštívil</span><br>
<input type="checkbox" name="form7"/> <span style="color: #999999;">Skryj reklamy</span><br>
<button onclick="form(form2,form3,form4,form5,form6,form7)"><img src="../images/tl_refresh_a.png" /buttom>
</form>
<script>
function form(form2,form3,form4,form5,form6,form7){
jQuery(function(){
Query.ajax({
url: '/components/com_lovefactory/models/lmenu.php',
data: {d2: form2, d3: form2,d4: form4, d5: form5,d6: form6, d7: form7}
}).done(function(data){
jQuery('#results').html(data);
}).fail(function(){
jQuery('#results').html('AJAX selhal');
});
}, function(error){
jQuery('#results').html(error.message);
});
</script>
ajax mi nezavolá to dané php s požadovanými parametry.
Nevíte někdo, kde je chyba?
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
Uncaught SyntaxError: Unexpected end of input
VM25767:1 Uncaught TypeError: Cannot read property 'childNodes' of undefined
A ty proměnný mám jak nadefinovat? já myslel, že když je pošlu jako parametr té funkce, tak je nadefinovaný mám.
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
Ve funkci máte sice definované parametry form2 atd. ale v jejím volání je berete kde? Co je to zde to form2 atd...
<button onclick="form(form2,form3,form4,form5,form6,form7)"><img src="../images/tl_refresh_a.png" /buttom>
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
chyba musí být ještě někde jinde?
zjednodušený výpis
<div id="results"></div>
<form name="form">
<input type="checkbox" name="form2" /> <span style="color: #999999;">Skryj moje umístění na mapě</span><br><br>
<button onclick="form()"><img src="../images/tl_refresh_a.png" /button>
</form>
<script>
function form({
var pr2 = document.form.form2.value
jQuery(function(){
Query.ajax({
url: '/components/com_lovefactory/models/lmenu.php',
data: {d2: pr2}
}).done(function(data){
jQuery('#results').html(data);
}).fail(function(){
jQuery('#results').html('AJAX selhal');
});
}, function(error){
jQuery('#results').html(error.message);
});
</script>
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
- ano, form 2 by muselo být nejprve deklarováno jako var form2.
- ano hodnotu do proměnné form2 musíte nejprve naplnit (používáte checkboxy, uvědomte si rozdíl mezi hodnotu a stavem checkboxu zaškrtnuto / nezaškrtnuto)
- chyba musí být TAKÉ někde jinde, co třeba středníky na konci řádek?
Máte ale jednoúčelovou funkci (alespoň to tak vypadá), tak proč to neřešit až přímo ve funkci (do té si poslat jen formulář - this.form). A nejlépe pomocí jQuery, když už ho používáte
jQuery(form).find('[name=form2]') ...
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
příkaz
var pr2 = document.form.form2.value nenaplní proměnnou pr2 hodnotou toho checkboxu?
to přeci také řeším až v té funkci
co vlastně přesně dělá jQuery(form).find('[name=form2]') ... , Vrátí výsledek toho pole?
středníky na konci stránek přebývají nebo chybí
konzole mi vypíše tohle:
Uncaught TypeError: form is not a functiononclick @ (index):177
Navigated to http://localhost/index.php/cs/?
Jaký je rozdíl mezi hodnotou a stavem checboxu? nebylo by nakonec jednodušší použít select ano/ne?
někde jsem možná četl že formulář odesílá hodnotu, jen když je checbox zaškrtnut?
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
Hodnotou ano, ale to neznamená zaškrtnuto / nezaškrtnuto.ernst napsal: var pr2 = document.form.form2.value nenaplní proměnnou pr2 hodnotou toho checkboxu?
vyhledá ve formuláři prvek s jménem form2 za tři tečky si doplňte co potřebujete s tím prvkem dělat (zjistit checked, zjistit hodnotu).ernst napsal: co vlastně přesně dělá jQuery(form).find('[name=form2]') ... , Vrátí výsledek toho pole?
Ne na konci stránek, ale na koci řádků v javaskriptuernst napsal: středníky na konci stránek přebývají nebo chybí
Ano, ale vy neodesíláte formulář, ale zpracováváte ho v javaskriptu. Odesílaná data si tedy musíte pořešit sám.ernst napsal: někde jsem možná četl že formulář odesílá hodnotu, jen když je checbox zaškrtnut?
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
to php z formuláře mohu volat např.
<form name="form">
<input type="text" name="form2">
<input type="text" name="form3">
<a href="javascript:form();">OK</a>
</form>
<form action="send.php" method="GET">
<input type="text" name="prom1" />
<input type="text" name="prom2" />
<input type="submit" />
</form>
nebo co jsem použil já
<button onclick="form()"><img src="../images/tl_refresh_a.png" /button>
ale proč se mi proboha nezavolá to php (mám na jeho začátku dán zápis do logu)
koukám na to a nemohu to vykoukat.
asi prvně zkusím místo checbox dát třeba select nebo text.
tam to snad bude srozumitelnější
nebo to zkusit napsat nějat takhle?
<form action="form-1.php" method="post">
Jméno: <input type="text" name="jmeno">
věk: <input type="text" name="vek">
<input type="submit" value="odeslat">
</form>
<?
$jmeno = $_POST['jmeno'];
$vek = $_POST['vek'];
?>
<p><? echo "$jmeno"; ?> je pěkné jméno i když je ti <? echo "$vek"; ?> let...</p>
ale mně se ten ajax líbí nejvíc
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
JS:
<form method="GET" action='/components/com_lovefactory/models/lmenutest.php' >
<input type="checkbox" name="form2" /> <span style="color: #999999;">Skryj moje umístění na mapě</span><br>
<input type="checkbox" name="form3"/> <span style="color: #999999;">Změň svoji pozici na mapě</span><br>
<input type="submit"><img src="../images/tl_refresh_a.png">
<?php
define( '_JEXEC', 1 );
if (!isset($_GET["form2"])) {$f2="off";} else {$f2=$_GET["form2"];} ;
var_dump($f2) ;
if (!isset($_GET["form3"])) {$f3="off";} else {$f3=$_GET["form3"];} ;
var_dump($f3) ;
tak se mi to do toho php předá ok, mohu si to tam zapsat do databáze atd.
ale zůstane mi to na té volané stránce ) prázdná stránka ale já se potřebuji vrátit na tu původní stránku, ta ale může být pokaždé jiná
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.
stačí za to php dát
<script>
javascript: history.go(-1)
</script>
ale ta prodleva bílé stránky je na můj vkus dost dlouhá.
opravdu bych to rád vyřešil tím ajaxem, ale to by mně tady někdo musel trochu nakopnout, protože javascript se učím teprve třetí den
Pro možnost přispívání do fóra je nutné: Přihlásit se nebo Vytvořit účet.