[ pakito @ 02.07.2013. 09:20 ] @
Veoma složene uslove pretraživanja unosim na stranici http://www.paundurlic.com/vlaski.recnik/pretraga.php prema sledećoj shemi:

Code:
<form name="pretraga" method="POST" action="pretraga-rezultat.php?go">
<input  type="text" name="rec1" id="rec1">
<input  type="text" name="rec2" id="rec2">
...
<input  type="text" name="rec9" id="rec9">
...
<input type="reset" value="Reset!">
<input  type="submit" name="submit3">

</form>


Na stranici “pretraga-rezultat.prhp” unete vrednosti prihvatam prema shemi:

Code:
<?
$unetarec1=trim(mysql_real_escape_string($_POST['rec1']));
$unetarec2=trim(mysql_real_escape_string($_POST['rec2']));
...
$unetarec9=trim(mysql_real_escape_string($_POST['rec9']));
...
?>


Kada se posle pregleda rezultata pretrage ponovo vratim na stranicu “pretraga.php” u želji da nastavim pretragu prema novim uslovima, pritiskom na dugme “Reset” prazne mi se polja na ekranu, ali se prethodno unete vrednosti ne gase, već se prenose na stranicu “pretraga-rezultat.php” zajedno sa novo unetim. Gase se tek kada se stranica “pretraga.php” refrešuje.

Pitanje: kako da izvršim resetovanje forme i gašenje unetih vrednosti polja, a da ne moram da osvežavam php stranicu?
[ Nedja995 @ 02.07.2013. 15:42 ] @
Probaj da stavish unset($_POST) posle
Code:
$unetarec1=trim(mysql_real_escape_string($_POST['rec1']));
$unetarec2=trim(mysql_real_escape_string($_POST['rec2']));
...
$unetarec9=trim(mysql_real_escape_string($_POST['rec9']));
[ pakito @ 02.07.2013. 16:28 ] @
Na žalost, unset() ne deluje, ni kao unset($_POST), niti kao

unset($_POST['rec1']);
unset($_POST['rec2']);
...
[ Nedja995 @ 02.07.2013. 17:29 ] @
jbga nisam iskusan bash ali sam hteo da pomognem
http://stackoverflow.com/quest...nt-get-alert-box-upon-redirect
mozda ti pomogne
[ VladaSu @ 03.07.2013. 08:30 ] @
Reset bi trebao da radi bez refresh. Ajd postavi negde na net samo formu
Probao sam samo formu u html da stavim i radi mi reset bez refresh.
Mora da imas negde neku gresku u html ili tako nesto. Mozda je do browsera...

Zasto ne bi mogao da resetujes formu sa js samo stavi da ti je id forme kao i name ili idi preko name?
Code (php):

document.getElementById("pretraga").reset();
 


Druga mogucnost da ti je dugme reset u novoj formi bez polja:
Code (html):

Code:
<form name="pretraga" method="POST" action="pretraga-rezultat.php">
    <input  type="text" name="rec1" id="rec1">
    <input  type="text" name="rec2" id="rec2">
    ...
    <input  type="text" name="rec9" id="rec9">
    ....
    <input  type="submit" name="submit3">
</form>
<form name="pretraga_reset" method="POST" action="pretraga-rezultat.php">
    <input type="reset" value="Reset!">
</form>
 



[Ovu poruku je menjao VladaSu dana 03.07.2013. u 09:43 GMT+1]
[ Nedja995 @ 03.07.2013. 11:35 ] @
:D dugme reset
zato je i napravljeno
[ pakito @ 03.07.2013. 12:04 ] @
Vrlo je moguće da je ovaj program naivac nešto zabrljao, jer ne deluje ni jedan od navedena dva predloga.
Izvukao sam samo formu, i stavio je ovde:

http://www.paundurlic.com/download/pretraga-reset-problem.zip

PS. Važna napomena:
Proverio sam browsere koje imam pri ruci:
IE 8 - radi ispravno, dakle resetuje formu i gasi promenljive,
Pale Moon 19.0 (koji mi je radni browser) - ne gasi promenljive,
Opera 12.4 - ne gasi promenljive ...

Dakle: neka (moja) brljotina koja utiče na browsere!

[Ovu poruku je menjao pakito dana 03.07.2013. u 13:25 GMT+1]
[ pakito @ 03.07.2013. 17:17 ] @
Bacio sam se (sa zakašnjenjem) na ozbiljnije testiranje, i utvrdio važnu stvar:
"reset" briše normalno verdnosti unete preko input type="text",
ali ne briše unos u hidden polje koje vršim sa padajuće liste, čije opcije unosim na stranicu preko include;
pitanje je da li tu ima rešenja?

Code:
<input  type="hidden" name="etimologija1" size="26" id="HHH">    
<select onchange="replaceText2(this.options[this.selectedIndex].value, document.pretraga.etimologija1); " name="D1">            
<option value="" selected="selected" ><?=$TEXT['select-etimologija']?></option>
<? include ("incl-etimologija.php"); ?>
</select>


Na ovoj stranici to su polja od 9 do 18:
http://www.paundurlic.com/vlaski.recnik/pretraga.php
[ Tpojka @ 03.07.2013. 17:45 ] @
Nešto poput:
Code:
if (isset($_POST['reset'])) {
  // values from incl-etimologija.php set to none
/*
  $a = '';
  $b = '';
  .
  .
  .
  $z = ''; // practically all values from external file
*/
}

Evo ima i ovde slična solucija.
[ pakito @ 03.07.2013. 18:52 ] @
Novo a važno otkriće: dugme "reset" ne deluje (mi) zapravo na "hidden" tip polja!
Evo dokaza: zamenio sam (privremeno) u stavci 9 "Etimilogija" input type="hidden" u input type="text" i "reset" je tu proradio kako valja.
Ovo je samo mali korak ka otkrivanju lica mesta uzroka, a li ne i rešenja, jer dizajnerski to tako ne sme da ostane!
Radije bih se bacio sa trećeg sprata, nego da mi stranica izgleda ovako bangavo! ;)

Uviđaj: http://www.paundurlic.com/vlaski.recnik/pretraga.php


[ VladaSu @ 04.07.2013. 21:10 ] @
Koliko sam prvo shvatio tebi na reset uradi submit. Ovo je drugi problem. Izbrisi sa js.
[ pakito @ 04.07.2013. 21:19 ] @
Primetio sam, pored onoga što sam ranije naveo, da je sve u redu na IE 8, ali da omanjava sa Operom i Pale Moonom.
Nisam proverio druge brovsere.

Uzgred, predlog da brišem sa js ne razumem.
Može li konkretnije objašnjenje.
[ VladaSu @ 05.07.2013. 13:17 ] @
Mislio sam sa javascript da stavis vrednost polja koju ti zelis.
Jos jednostavnije ti je da nemas input type hidden vec da stavis input type text a da mu je css display none.
[ pakito @ 05.07.2013. 21:59 ] @
Citat:
Jos jednostavnije ti je da nemas input type hidden vec da stavis input type text a da mu je css display none.


U stil.css dodao sam
Code:
.sakrij-polje {
  display: hidden
}


posto na display: none nije reagovao

A u “pretraga.php” input linije:

Code:
<input type="text" class="sakrij-polje" name="etimologija1">


I sada reset radi svoj posao!
Hvala na sugestiji!



[Ovu poruku je menjao pakito dana 05.07.2013. u 23:30 GMT+1]
[ VladaSu @ 08.07.2013. 08:58 ] @
display:hidden; ne postoji pa ti zbog toga ne radi.
Postoji display:none;
Hidden se koristi u visibility:hidden;
[ pakito @ 08.07.2013. 09:40 ] @
Citat:
display:hidden; ne postoji pa ti zbog toga ne radi.
Postoji display:none;
Hidden se koristi u visibility:hidden;

Ja kao programer sluhista ne umem da objasnim šta se događa, ali rešenje koje sam gore naveo odlično radi.
Rekoh, probao sam prvo sa display:none, nije bilo efekta, a onda sam "none" zamenio sa "hidden", računajući da će se primiti, jer takav je tag u html-u ...

Uverite se sami:
http://www.paundurlic.com/vlaski.recnik/pretraga.php

Unesite bilo koju vrednost sa bilo koje padajuće liste, izvršite pretragu a onda se vratite i aknite "reset", pa ponovo "pretraga" ...
[ dakipro @ 08.07.2013. 09:51 ] @
Problem koji ti imas je do samog browsera, kada kliknes na BACK u browseru, vrednosti koje vidis nisu generisane od strane servera vec zapamcene od strane browsera koji zeli da bude ljubazan pa popunjava umesto tebe. Nekada na back browseri nisu pamtili unete vrednosti u polja.
Kada u FireFoxu 22 popunim nesto, kliknem na Trazi, zatim kliknem Back i kliknem na reset, firefox obrise sva prikazan polja.

Najprostije resenje je ili da stavis redirekciju i probas da li ce BACK da zapamti vrednosti, ili da nakon pretrage stavis link NAZAD NA PRETRAGU i da se nadas da ce ljudi kliktati na taj link umesto na BACK
[ pakito @ 08.07.2013. 10:07 ] @
Citat:
Problem koji ti imas je do samog browsera, kada kliknes na BACK


Problem, kao što sam istakao na početku, nije u BACK-u, on i treba da bude ljubazan, nego u RESET-u.
Taj se pravio mutav.
Ja se nadam da i kod drugih korisnika ovo rešenje, za koje si mi dao ideju, uspešno radi kao i kod mene.
I da će preživete razne browsere i njihove verzije!
[ VladaSu @ 08.07.2013. 11:47 ] @
Prvo treba da ispravis ceo html kod da bude dobar i ispravan pa se tek onda moze pricati o radu browsera.
Html i head tagove gde otvaras i zatvaras. Forma o formi itd. Odvoji js u jedan fajl.
Table se koristi za tabelarni prikaz podatak kao u excelu a ne za dizajn. Stilove u css fajl.
Kod ti je totalno necitljiv i za ovakav jednostavan izgled ima previse koda.

Uglavnom ja ne bih ovo ni ispravljao nego bih iz pocetka pravio jer ama bas nista ne valja sto se tice html-a :)
[ pakito @ 08.07.2013. 12:27 ] @
Ja da znam da programiram kako valja, ne bih bio kustos muzeja, siromašan ko crkveni miš,
nego bih bio varoški bogataš, ka što su svi profi programeri,
sa poreskom upravom za petama,
i po jednom sponzorušom na svakom prstu ruke,
a možda i noge!

Zato sam samo programer naivac, koji programira na sluh!
A kad zapne, e tu je elitesecurity! :)
[ VladaSu @ 08.07.2013. 12:50 ] @
Prvi korak ka resavanju ovog problema je da se sredi html jer na taj nacin mozemo da eliminisemo jedan dobar deo stvari koje mogu da izazovu ovako cudno ponasanje tvog programa.

http://validator.w3.org/check?...amp;doctype=Inline&group=0
Tek kada se otklone ovi problemi moze se preci na sledeci korak otklanjanja problema.

Rekao sam da bih ovo poceo iz pocetka ne da bih te ponizio vec ja bih stvarno poceo iz pocetka.
Pocni ovde na ES i postavljaj linkove za svaku fazu koju uradis a ovde ce ti reci sta da ispravis za i dodas za svaku sledecu fazu.
Dodaj broj fajla...
http://www.paundurlic.com/vlaski.recnik/pretraga1.php
http://www.paundurlic.com/vlaski.recnik/pretraga2.php
[ kelja @ 08.07.2013. 15:05 ] @
Hehehe, nasmejao me pakito ovim meditacijama o bogatim programerima...

Kako god - reset (bar za nekoliko polja u koje sam nesto uneo) sada radi (najnoviji Firefox), i radice, ako je HTML koliko-toliko pristojno formatiran, narocito html same forme, pa cak i u tom opskurnom Bledom Mesecu koji pakito koristi (dobra vest je da ostatak covecanstva ni ne zna za ovaj browser, pa ako iskrsnu neki problemi - niko ih nece videti, sem pakita). :D


Bez zezanja - izgleda da ti include fajlovi prave zbrku u html-u (html tag otvoren nekoliko puta na strani, itd, itd)... Pakito, otvori u firefoxu svoju stranu i klikni na view source - sva problematicna mesta su obojena crvenom bojom, pa kreni da sredjujes to, kako rece VladaSu...