|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
| autor |
|
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
30.07.2007 20:07:28
JavaScript |
|
|
Tuleb selliseid lühi küsimusi, millele pole nagu mõtet eraldi teemat teha. Paneks need siia.
Probleem järgmine: vaja JavaScriptis näidata style z-index väärtust, kuid arvatavasti ei meeldi talle - seal. Ütleb, et syntaks error. Muidu teisi asju style alt laseb sarnaselt muuta (gaming.style.top=1; näiteks toimib)
Kuidas peaks selle probleemi lahendama?
| if(pea=="Avaleht"){gaming.style.z-index=1;} |
_________________
 |
|
| Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
| tagasi üles |
|
 |
i8080
Kreisi kasutaja

liitunud: 15.03.2002
|
30.07.2007 21:01:47
|
|
|
ähmaselt on meelde jäänud selline asi nagu eval(..) mis aitas justkui stringi sarnast koodikompotti seedida
proovi näiteks
eval('gaming.style.z-index=1');
|
|
| Kommentaarid: 174 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
156 |
|
| tagasi üles |
|
 |
Valdars
HV veteran

liitunud: 22.02.2003
|
|
| Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
45 |
|
| tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
31.08.2007 21:23:09
|
|
|
Paha mina. Ei viitsi Googeldada. Tänud, asi sai korda.
******************************
Oleks vaja kasutada hiire paremat nuppu mingi pildi kustutamiseks, sain netist scripti, mis tuvastab parema nupu, kuid see ei tööta opera all ja arvata, et ka FF ei funka. Kas on mingit paremat koodi, mis kõigis browserites töötaks?
Minu leitud kood:
function alertBut( e, evElement ) {
if( !e ) {
if( window.event ) {
//Internet Explorer
e = window.event;
} else {
//total failure, we have no way of referencing the event
return;
}
}
if( typeof( e.which ) == 'number' ) {
//Netscape compatible
e = e.which;
} else if( typeof( e.button ) == 'number' ) {
//DOM
e = e.button;
} else {
//total failure, we have no way of obtaining the button
return;
}
if( !evElement ) { evElement = this; }
/* 'this' will exist if I have used object.onEventName = alertBut;
If I have passed evElement from the onmouseup attribute,
'this' will refer to window */
window.alert( evElement + ' was clicked with button ' + e );
} |
_________________
 |
|
| Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
| tagasi üles |
|
 |
asjameez
Kreisi kasutaja

liitunud: 10.12.2006
|
03.01.2008 01:03:36
|
|
|
On sellise skeemiga kood (ei hakka kopima kuna funktsioonid on tõsiselt pikad):
function esimene() {
korduv kood;
funktsiooni kood;
}
function teine() {
korduv kood;
funktsiooni kood;
}
jne |
Kuidas tuua funktsioonidest korduv koodijupp välja nii, et see käivitatakse ainult siis, kui mingit funktsiooni esile kutsutakse? See teeks koodi mitmeid kordi lühemaks.
|
|
| Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
61 |
|
| tagasi üles |
|
 |
Valdars
HV veteran

liitunud: 22.02.2003
|
03.01.2008 01:42:39
|
|
|
| Paned selle eraldi funktsiooni ja käivitad selle funktsiooni siis seal, kus seda vaja on?
|
|
| Kommentaarid: 48 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
45 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
03.01.2008 01:42:59
|
|
|
| funktsiooni seest saab ka teist funktsiooni välja kutsuda
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
asjameez
Kreisi kasutaja

liitunud: 10.12.2006
|
03.01.2008 01:59:57
|
|
|
Tänud! Nii lihtne oligi
|
|
| Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
61 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
02.11.2009 12:52:05
|
|
|
JS küsimus:
On lihtne JS tehtud ankurdamise funktsioon:
function Ankur(kuhu) {
window.location.hash = kuhu
}
</script> |
Ning hiljem "õiges" kohas kutsutakse see välja
Kõik töötab kenasti FF kui ka IE8, aga IE8 leht kerib kogu lehe alguses kaasa. Ehk kui FF leht ei liigu omalt kohalt kui linki klikata, siis IE8 terve leht laetakse uuesti ning jääb seisma ette antud ankru juurde. Milleks selline tõmblemine IE8's!? On see paratamatu? Saab midagi ette võtta?
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
15.01.2010 11:33:46
|
|
|
Küsin uue küsimuse. Keegi kes JS rohkem tegelenud on ehk teab ...
Hetkel on kasutusel lihtne JS funktsioon mis peale submit nupu vajutamist viskab popup aknakese ja küsib üle kas ikka tahad asjaga edasi minna. Kui kasutaja klikkab OK läheb päring teele kui aga CANCEL siis tühistab päringu.
Küsimus. Kas seda sama süsteemi on võimalik kasutada ka näiteks popup CSS aknakeses? Ehk tahaks natuke küsimise akent disainida ning ehk lisada ka muud juttu (a la mida salvestatakse, mida mitte vms.). JS aken võimaldab ainult teksti kuvada, disainist põle juttugi.
Teine võimalus on teha sama asja mingi kolmanda variandiga .. põmst vahet pole. Ideid?
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
kullar
HV kasutaja

liitunud: 26.11.2006
|
|
| Kommentaarid: 28 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
25 |
|
| tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
15.01.2010 19:06:23
|
|
|
Kindlasti on, kui sa mõtled tõelist popup akent, siis saad selle sisu kanda näiteks div sisse, kui mõtled mingit confirm() box siis pead natuke ümber tegema ja ikkagi divi kasutama.
Kujundad siis div sisse selle vastamis akna ja paned ta css sinna kuhyu tahad, seejärel annad talle algul display:none ja teda pole näha. Kui nüüd vajutad seda submitit, siis lihtsalt muudad selle div display:block ja aken ilmub. Aknasse teed siis vastavate valikute nupud või lingid ja peale muu koodi kaotad selle div akna uuesti ära (disply:none;)
| tsitaat: |
Kõik töötab kenasti FF kui ka IE8, aga IE8 leht kerib kogu lehe alguses kaasa. Ehk kui FF leht ei liigu omalt kohalt kui linki klikata, siis IE8 terve leht laetakse uuesti ning jääb seisma ette antud ankru juurde. Milleks selline tõmblemine IE8's!? On see paratamatu? Saab midagi ette võtta? |
| <a name="tule_siia" onclic="return false;"></a> |
_________________
 |
|
| Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
16.01.2010 00:10:11
|
|
|
| Le Inc, püüad submit eventi kinni, annad sellele return false, seejärel tood esile mingi divi kus sees sul siis küsimus on ja tekitad sinna sobivad vastusevariandid mis siis sobivalt käituvad (panevad formi submitima või divi niisama ära peitma näiteks).
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
16.01.2010 17:36:57
|
|
|
Selleks, et saavutada võimalikult sarnast funktsionaalsust tavalise javascript alert/confirm dialoogiga, peaks tegemist olema ikkagi modaalse dialoogiaknaga, ehk ülejäänud lehe sisu tuleb inaktiivseks teha, muidu pole ju asjal mõtet. Toksides google'sse sisse otsisõnad "jquery modal dialog", selgus, et jQuery javascript raamistikul on modaalsete dialoogide tekitamise tugi täiesti olemas (vaata teine tulemus, see mis jQuery enda lehele viitab) - vbl tasuks sealt otsast harutama hakata?
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
18.01.2010 12:05:48
|
|
|
| <a name="tule_siia" onclic="return false;"></a> |
See paraku ei tööta, siis ei funka link üldse ...
Eks ma uuri jquery't. Selle süsteemist ma saan aru ja seda on ka lihtne konf'ida. Asjade kinnipüüdmine jms. võib keeruliseks osutuda. CSS ja JS on suht-koht võõrad asjad Kui keegi koodi näite annab (eriti JS) siis ehk veel.
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
18.01.2010 12:25:06
|
|
|
| Le Inc kirjutas: |
| <a name="tule_siia" onclic="return false;"></a> |
See paraku ei tööta, siis ei funka link üldse ...
Eks ma uuri jquery't. Selle süsteemist ma saan aru ja seda on ka lihtne konf'ida. Asjade kinnipüüdmine jms. võib keeruliseks osutuda. CSS ja JS on suht-koht võõrad asjad Kui keegi koodi näite annab (eriti JS) siis ehk veel.  |
Ma hiljem vaatasin, sama google otsingu alt tegelikult esimene vaste tundus täitsa asine olevat, seal olid konkreetsed koodinäited ka juures, teine link, mis viitas ametlikule dokumentatsioonile - noh, see oli nagu ametlik dokk ikka, midagi nagu seletab, aga päris aru ei saa
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
18.01.2010 13:49:41
|
|
|
| tsitaat: |
| See paraku ei tööta, siis ei funka link üldse ... |
Selleks see ju ongi, et link ei töötaks. Sain su probleemist siis valesti aru.
_________________
 |
|
| Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
19.01.2010 15:38:25
|
|
|
Nii palju kui ma asjast aru sain, saab jqueriga kenasti disainitud aknaid teha küll, kuid samas peab igale nupule oma "käsu" andma. Cancel on $(this).dialog("close"); aga OK nupu jaoks olev document.forms["index"].submit(); ei sobi minu lahenduse korral kuna ta ei tee vormi saatmist läbi php. Ehk server ei saa aru et just seda (näiteks salvesta) nuppu vajutati. Nagu ma kuulnud olen JS ei saagi php juhtida ja sinna midagi kirjutada (hidden fields vms. ehk!?).
Ma kahjuks kuskilt netist ei leidnud ka varianti kus jqueriga oleks keegi window.confirm suutnud 100% simuleerida. Seda ehk ei saagi teha?
LISA:
Küss. Kui ma saan terve lehe js saata document.index.submit();, kas on mingi võimalus saata (ainult) ka mingi $_POST muutuja, näiteks $_POST['salvesta'] ?
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
19.01.2010 17:07:17
|
|
|
Le Inc,
| javascript:
|
$('#ok_nupp').click(function() { $.post( 'paring.php', // kuhu saadame päringu { // anname mingid andmed POST päringuga kaasa, kui soov tervet formi korraga saata, siis võib ka kasutada käsku, mis asendaks seda {} blokki: $('#mingi_form').serialize(), lisamuutujaid pista input type=hidden kujul vast, uurin veel et kas on mõnda ilusamat lahendust. info: 'mingi väärtus', info2: $('#mingi_v2li').val() }, function() { //HTTP 200 (OK) vastuse puhul käivitab selle osa, kui soov kasutada ka vastusena tulevat infot, siis tuleb function(data) kasutada, data on lihtsalt näidisena muutuja nimi, võib enda soovitud muutuja nime ka sinna panna $('#minu_dialoog').dialog('close'); } ); return false; // kui tegu on formi submittiva nupuga, mitte suvalise pildiga. });
|
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
20.01.2010 10:08:19
|
|
|
See skript annab POST mingi info kaasa? Kas php saab seda lugeda? Midagi sarnast on siin kirjas: http://www.developertutorials.com/tutorials/ajax/getting-started-with-ajax-in-jquery-8-05-11/page3.html
Mul on selline jquery form olemas:
| javascript:
|
$(function(){ // jQuery UI Dialog $('#dialog').dialog({ autoOpen: false, width: 400, modal: true, resizable: false, buttons: { "Salvesta": function() { //SIIN PEAKS MIDAGI TEGEMA!? }, "Ära salvesta": function() { $(this).dialog("close"); } } }); $('#kala123').submit(function(){ $('#dialog').dialog('open'); return false; }); });
|
Mis <input type="submit" id="kala123" value="salvesta"> nupu peale pressimist toob aknakese välja. Ma ei oska post jms. asju kusagile toppida, et neist kasu oleks. Mina saan nii aru et on kaks varianti:
a) Kuidagi kinni püüda submit sündmus (nagu window.confirm toimib)
b) Peale nupule vajutamist peab JS või Jquery kuidagi suutma iseseisvalt $_POST['salvesta'] väärtuse andma ja php selle selgeks tegema. Vastasel korral ei saa ma kuidagi aru et kasutaja just "OK" nuppu vajutas.
viimati muutis Le Inc 20.01.2010 10:08:46, muudetud 1 kord |
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 10:20:47
|
|
|
Sinna "Salvesta" nupule peaksid siis minu antud osa juurde panema.
Kaasa läheb see, mis sellel .post() meetodil teise atribuudina on pandud.
http://docs.jquery.com/Ajax/jQuery.post
Kui tahad oma formi sinna kaasa panna siis kasutad seda $('#minu_formi_id').serialize() käsku. Enne seda võid vabalt formi tekitada ühe peidetud inputi ja anda sellele väärtus mis sa ise soovid.
Selleks kasutad näiteks järgmist käsku:
| javascript:
|
$('#minu_formi_id').append('<input type="hidden" name="salvesta" value="misiganes" />');
|
Oma formil püüad submiti kinni järgmiselt:
| javascript:
|
$('#minu_formi_id').submit(function(){ //mingi kood millega sa dialoogi ette kutsud return false; });
|
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
20.01.2010 10:27:36
|
|
|
Ohh ... Kood
| javascript:
|
$(function(){ // jQuery UI Dialog $('#dialog').dialog({ autoOpen: false, width: 400, modal: true, resizable: false, buttons: { "Salvesta": function() { // document.index.submit(); $.post('index.php', { info123: 'test' }); }, "Ära salvesta": function() { $(this).dialog("close"); } } }); $('#kala123').click(function(){ $('#dialog').dialog('open'); return false; }); });
|
Olen ma õigel teel? Antud juhul ei tehta submit'i kuna $('#kala123').click(function(){, pannes sinna submit ei lähe asi tööle. Kasutades document.index.submit(); asi ei funka.
Saan ma õigesti aru, et kui skript töötaks saaks ma $_POST['info123'] väärtuseks "test" ?
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 10:31:16
|
|
|
Mis see "#kala123" on?
Ning jah, said õigest sellest _POST asjast aru, kuid antud koodiga see dialoog end ei sulgeks vaid jääks ette peale selle nupu vajutamist.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
20.01.2010 11:17:02
|
|
|
Nii, kood on selline:
| javascript:
|
$(function(){ // jQuery UI Dialog $('#dialog').dialog({ autoOpen: false, width: 400, modal: true, resizable: false, buttons: { "Salvesta": function() { $.post('index.php', { info123: 'test' }, function() { $('#dialog').dialog('close'); } ); return false; }, "Ära salvesta": function() { $(this).dialog("close"); } } }); $('#index').submit(function(){ $('#dialog').dialog('open'); return false; }); });
|
Nupu kood: <input type="submit" name="salvesta" value="Salvesta">
Kahjuks ei toimu lehe submit'i peale Salvesta vajutamist? Millest see? See kala ka et ta viskab selle akna iga buttoni peale. Peaks reageeima ainult value="Salvesta" nupule
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 12:18:59
|
|
|
| Näitad ehk terve lehe ette ?
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
20.01.2010 12:22:09
|
|
|
Ma teen ühe test lehekese. Põhilehel pea 1000 rida koodi
Ma proovin üht teist näidet netist.
viimati muutis Le Inc 20.01.2010 13:09:56, muudetud 1 kord |
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 14:02:05
|
|
|
Saad sa anda mingi lingi, kus see sul üleval on? Saaks valmis koodi ennast näha et kus ja kuidas ta töötama peaks.
PHP pool jätab mind täiesti külmaks, seda ma näha ei soovi hetkel kuna teemaks on JS.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 14:56:35
|
|
|
Esimesed paar korda sain näha lehte, siis tuli aga see:
Bad Gateway
The proxy server received an invalid response from an upstream server.
Apache/2.2.0 (Fedora) Server at www.fortumtartu.ee Port 80
Edit: toimib jälle, uurin edasi lahendust.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 15:24:59
|
|
|
Niih, http://jsbin.com/eqase/3
Kui Firebugiga või muu sarnasega vaatad siis näed et vajutades Salvesta nuppu dialoogis tehakse POST päring serverile.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
20.01.2010 17:50:57
|
|
|
Tänud, eks ma proovin asja oma koodi integreerida!
Asi töötab jah kenasti (väärtus tuleb hüpikaknasse), aga $_POST['info123'] ei tule essugi ehk php ei tea asjast miskit ... Krt seda vist ei ole võimalik nii teha kui tahaks .. pealegi ei tööta teised nupud peale selle skrtipti kopeerimist.
Tegelikult oleks ju skript ääretult lihtne kui kuskil oleks saadaval window.confirm funktsionaalsus. Tegelikult me sunnime JS kirjutama php mis on suht-koht vägistamine, samas kui saaks submit sündmuse vahepeal kinni püüda, küsida kas ikka oled nõus ja siis edasi saatma.
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
20.01.2010 21:50:08
|
|
|
Asi tundub kahtlane. Ma pole küll mingi php teadja, aga vaatasin ise ka mikk36 poolt antud koodi ja Firebugiga otsa vaadates kindlalt läheb POST teele serveri suunas. Oled sa kindel, et see POST sul õige aadressi vastu käib serveris, niisama ära kaduda nagu miski ei tohiks.
Teine asi, mis ma mõtlema hakkasin - see praegu pakutud lahendus on Ajax lahendus - kas see on see, mida sa soovid? Või soovid sa kinnituse korral teha täislehele värskenduse? Kui sa soovid täisväskendust saada, siis see praegune lahendus kindlalt ei sobi, vaid on vaja midagi muud välja mõelda.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 22:17:36
|
|
|
Fukiku, miski asi oli tal oma koodis lihtsalt katki, palju ei süvenenud ning kirjutasin lihtsalt korrektsena nii nagu ma ise mõttes jQuery's mõtlen.
See minu antud kood on kusjuures kenasti tagasivajuv tavalise non-JS peale. Kui javascripti ei käivitata siis submititakse form lihtsalt veebiserverile ja võib sealt sobiva vastuse saada, ajaxiga käiks näiteks läbi mõne muu faili või siis mõne atribuudiga vastaks server sobiva vastuse ajax kliendi tarvis.
Ajaxiga lahendus on üldjuhul mugavam selles osas et saad muutused rakenduse kasutaja jaoks palju sujuvamalt lahendada kui et igale muudatusele järgneb terve lehe uuesti laadimine. Kasutad nagu programmi mitte nagu veebilehte.
Hiljuti valmistasin ka ühe veebirakenduse tellimuste sisse andmiseks ühelt kindlalt firmalt. Näide rakenduse tööst: http://www.upload.ee/files/355090/test.avi.html
Selle video tegemise käigus leidsin ka juba ühe vea, kalender püsib mingil põhjusel hetkel soome keeles isegi kui muu on eesti keeles, eks saab homme parandatud
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
20.01.2010 22:19:17
|
|
|
mikk36, Su jutt on täitsa õige. Küsimus on pigem selles, et kas algupärane küsimuse algataja antud hetkel käsitleb päringut kui Ajax päringut ja teeb kõike mida selle töötlemiseks vaja või eeldab ta Sinu skripti tulemusena toimuvat täielikku lehe uuendust. Küsimus on inspireeritud sellest, et hetkel jääb mulje, et algupärane küsija võibolla ei tunne ennast ka 100% kindlalt selles valdkonnas (kogu austuse juures kasutaja Le Inc vastu, ei soovi solvata ega midagi).
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
20.01.2010 22:22:37
|
|
|
| Fukiku, minu scripti osa on eeldatavalt (või siis loodetavasti) ikka vaid väike osa kogu rakenduse tööst mis Le Inc'il plaanis ja minu script oli ainult nurgakiviks asja lahendamisel.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
21.01.2010 10:08:00
|
|
|
link :: jquery'st -> php
Jutt õige, JS on suht-koht tume maa. Lihtsalt ma lootsin et saan "kerge vaevaga" traditsiooniliselt koleda JS hüpikaknad asendada millegi kenamaga. Hetke versioonis veebileht toimib ja window.confirm teeb oma tööd nii nagu vaja. Muud JS mul lehel ei ole, kõik muu käib php ja css läbi.
Jquery'ga saaks ka infot kasutajatele tagasi kirjutada, mis mingil määral teeks asja selgemaks. Samas kui ma kaks "Kas ikka tahad seda teha!?" akent jätan tavalisse JS ja muud kaunistan ära, jääks ka suts imelik. Või mis?
Mikk36, sinu skriptiga input aknast tuleb kraam ilusti aknakesse, samas ju lehte ei värskendata? Php jaoks on seda ju vaja .. ta ei lase ju koodi muidu käima. Vaata kas või seda sama http://www.fortumtartu.ee/naidud/demo/test.php lehte. Kopeerisin koodi 1:1 ümber. Kui ma midagi lahtrisse kirjutan, tuleb see aknakesse, kuid kui vajutan "Salvesta" peaks see sama string ka põhilehele end kirjutama (seda juba läbi php et too aru saaks et miskit saadeti). Hetkel see nii ei toimi.
Äkki ma ajan tühja tuult taga .. on see üldse muidu võimalik?
LISA:
Tõesti firebug näitab et POST kraami tuleb
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
21.01.2010 10:34:56
|
|
|
Selles siis asi ongi - Sa ei töötle hetkel tehtava päringu vastust mingil moel. Seesama $.post() teeb Ajax päringu ja vajab seetõttu ka vastuse spetsiaalset töötlemist. Praegu tundub, et Sinu lahendus vajab siiski seda, et peale kasutajalt kinnituse saamist tuleb terve form ära submittida, mis kutsub esile ka lehe värskenduse. Siit küsimus - miks see formi submittimine Sul enne ei toiminud, milles probleem oli?
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
21.01.2010 11:44:37
|
|
|
| Fukiku kirjutas: |
| Selles siis asi ongi - Sa ei töötle hetkel tehtava päringu vastust mingil moel. Seesama $.post() teeb Ajax päringu ja vajab seetõttu ka vastuse spetsiaalset töötlemist. Praegu tundub, et Sinu lahendus vajab siiski seda, et peale kasutajalt kinnituse saamist tuleb terve form ära submittida, mis kutsub esile ka lehe värskenduse. Siit küsimus - miks see formi submittimine Sul enne ei toiminud, milles probleem oli? |
Njah selles see uba ongi. Kuna jquery ei tööta nii nagu tava JS asjandus, siis peabki peale "OK" nuppu midagi php saatma et too aru saaks et just "OK" vajutati. Hetkel tuleb kenasti POST'i OK string, AGA kuidas ma selle php selgeks teen? Asi ju ka selles et jquery "OK" peale läheb POST'i ainult jquery enda string, muust lehest ta midagi kaasa ju ei haara (kui ta seda teeks poleks ma siin oma lugu kurtmas )! Selleks oleks vaja leht minema saata koos saadud "OK" stringiga, mille peale php ise edasi toimetab. See on minu arusaam asjast. Võimalik et ma üldse vaatan asja vale nurga alt.
Kuidas see toimiks koodis?
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
21.01.2010 12:16:08
|
|
|
Ma küsin oma küsimuse uuesti - mis probleem sellega oli, et jQuery koodist lihtsalt öelda õigele formile form.submit() ? See peaks kenasti tegema seda, mida vaja ju.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
21.01.2010 13:28:06
|
|
|
| Fukiku kirjutas: |
| Ma küsin oma küsimuse uuesti - mis probleem sellega oli, et jQuery koodist lihtsalt öelda õigele formile form.submit() ? See peaks kenasti tegema seda, mida vaja ju. |
Njah nüüd saan aru mida sa mõtled. Kui ma teen window.document.forms['index'].submit(); siis ta laeb lehe uuesti, paraku ilma "teatud" php poolsete tingimusteta. Ehk php koodi loogika on selline, et alguses kontrollitakse väärtuseid, siis tuleb salvesta nupp nähtavale ja sellele vajutades küsitakse "kas ikka oled kindel?" Kui ma nüüd lasen form.submit(); siis ta ei saa aru et just salvesta nuppu vajutati, sest kui php isset($_POST['nupp'] on "klikitud" ja väärtused õiged hakkab salvestamise protseduur andmebaasi.
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
21.01.2010 14:14:16
|
|
|
Le Inc, ajax päring tähendab seda et sa kasutad vastu saadud infot ka asjalikult ära, muidu läheb see lihtsalt kaduma. Seda mida sa selle infoga teed on sinu enda teha, kas kasutad seda lehe muutmiseks või näiteks uuesti lehe üles ehitamiseks, on sinu enda kujutlusvõime taga kinni.
Näitena pakuks välja lahenduse et kui tuleb .post() peale vastus et kõik on ok (php's paned näiteks: echo json_encode(array('status' => 'ok')); ja jQuery's loed selle vastu sisse ja kontrollid kas data.status == 'ok'), siis muudad veebilehe enda sisu nii et see näitab uut teksti et elektrinäit on edukalt edastatud ja tänad kasutajat. Võid ka teist teed minna ja käsutada brauserit uuele aadressile minema.
Tehes formile submit lihtsalt edastatakse see tavakanaleid pidi mitte ajaxiga, seepärast ka kogu lehe refresh ja liikumine formi action aadressile.
Jääb suuresti mulje et sa ei tea täpselt mida sa soovid ja ei oma ka aimu kuidas ajax rakenduse võimalusi ära kasutada.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
21.01.2010 14:21:14
|
|
|
Vabandage mu enesekindlust, aga ma arvan, et Le Inc pole kunagi tahtnudk Ajax rakendust teha. Tema tahtis lihtsalt ilusat confirm akent oma klassikalisele veebirakendusele, seega pigem peaks siin minema praegu seda teed, et selle .post() asemel ikkagi katsuma formi korrektselt ära submittida. Kui hetkel on küsimus selles, et on vaja mingit parameetrit sättida, mis muidu tuli submit nupu väärtusest, siis võib jQuery abil näiteks formile panna külge mingi hidden välja, mis ütleb sedasama, mida praegu ütles submit nupp ja siis ikkagi form ära submittda. Kusjuures formi submittimiseks ma kasutaks ka pigem jQuery't mitte mingit omakeedetud JS'i, see võiks näiteks olla midagi taolist:
| javascript:
|
$('#minu-formi-id').submit()
|
Kus minu-formi-id on sama id, mis oled andndnud oma formile
| html:
|
<form id="minu-formi-id"></form>
|
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
21.01.2010 14:24:50
|
|
|
| Lugesin nüüd uuesti esimese postituse läbi, jah, tundub et kaldusin ise teemast kõrvale.
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
21.01.2010 16:58:17
|
|
|
Ahh krt, seda asja ei ole võimalik tööle saada ... tänud abi eest. Kui muud kasu polnud siis vähemalt sain ühtteist uut teada.
LISA:
Polegi võimalik 1:1 window.confirm jquery's asendada:
Boxy.confirm(message, callback, options)
Displays a modal, non-closeable dialog displaying a message with OK and Cancel buttons. Callback will only be fired if user selects OK.
Note: this method is not intended to replace the native window.confirm() function provided by browsers as it does not have the capability to block program execution while the dialog is visible.
JOKK
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
21.01.2010 20:14:44
|
|
|
Põhimõtteliselt sellest lausest Sa ennast üleliia heidutada ei peaks laskma. Jah, selliselt tekitatud aknake ei täida 100% window.confirm() funktsionaalsust, küll aga teeb ta seda piisavalt, et lahendada Sinu ülesanne.
Hetkel tulingi tegelikult foorumisse selleks, et pakkuda Sulle välja järjekordne lahendus. Kuna ta mul juba enamvähem läbimõeldud on, siis panen kirja ta igal juhul.
Ühesõnaga, kui ma nüüd õigesti mõistsin, on Sul hetkel kasutusel järgmine loogika: klient sisestab andmed, vajutab mingit nuppu -> php valideerib andmed ära, kui on OK, siis kuvab andmed kasutajale tagasi koos täiendava "Salvesta" nupuga -> kasutaja vajutab "Salvesta", Sina kontrollid Javascriptiga, kas ta on kindel selles, kui jah, siis php salvestab andmed juhul, kui on näha "Salvesta" nupu vajutus POST andmete hulgas.
Selle asemel, et kontrollida nupu "Salvesta" olemasolu POST muutujate hulgas võiksid koos salvesta nupu kuvamisega lisada formile ka ühe hidden tüüpi muutuja, mille olemasolu hiljem kontrollida. Sel juhul saad rahulikult kasutada JS .submit() funktsiooni, et form serveri poole teele saata, juhul kui kasutaja on kinnitanud oma valmisolekut selleks.
Loodan, et mu jutust enam-vähem on võimalik aru saada.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
| Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
22.01.2010 10:01:09
|
|
|
Õigus sul on! Ma midagi sarnast eila õhtul proovisin, aga jätsin ühtteist tegemata.
Plaan on hea, aga kui kontrollimise nuppu rohkem kui 1 kord vajutada on vesi ahjus ... ehk salvestab info ikkagi ära. Häda on selles et salvesta nupp ei anna php mingit tagasisidet kui ta on seotud jquery'ga.
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
mikk36
HV Guru

liitunud: 21.02.2004
|
22.01.2010 10:15:02
|
|
|
Järelikult pead tegema ise kontrollid sisse et mitme korra puhul ka toimiks korrektselt. Mõtle läbi et miks ta sul "katki" läheb ja lahenda probleem
|
|
| Kommentaarid: 85 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
2 :: |
78 |
|
| tagasi üles |
|
 |
Le Inc
HV Guru

liitunud: 06.09.2002
|
22.01.2010 12:19:12
|
|
|
| mikk36 kirjutas: |
Järelikult pead tegema ise kontrollid sisse et mitme korra puhul ka toimiks korrektselt. Mõtle läbi et miks ta sul "katki" läheb ja lahenda probleem  |
Njah ega see nii lihtne pole .. võimalik et seda ei saagi teha. Kõige hullem on asja juures see et puudub tagasiside jquerist. Väga raske on juhtida protsessi kus tagasiside puudub, seda nii automaatikas kui ka tarkvaras.
|
|
| Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
54 |
|
| tagasi üles |
|
 |
|