Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  JavaScript märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele 1, 2  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 30.07.2007 20:07:28 JavaScript vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
i8080
Kreisi kasutaja
i8080

liitunud: 15.03.2002



Autoriseeritud ID-kaardiga
sõnum 30.07.2007 21:01:47 vasta tsitaadiga

ä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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Valdars
HV veteran
Valdars

liitunud: 22.02.2003




sõnum 30.07.2007 21:11:41 vasta tsitaadiga

http://www.w3schools.com/htmldom/prop_style_zindex.asp
Pisike googledamine oleks aidanud. icon_smile.gif
Eval() on hullem häkk, mida tavaliselt vaja ei lähe ja ei olegi vaja kasutada.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 31.08.2007 21:23:09 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
asjameez
Kreisi kasutaja
asjameez

liitunud: 10.12.2006



Autoriseeritud ID-kaardiga
sõnum 03.01.2008 01:03:36 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Valdars
HV veteran
Valdars

liitunud: 22.02.2003




sõnum 03.01.2008 01:42:39 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 03.01.2008 01:42:59 vasta tsitaadiga

funktsiooni seest saab ka teist funktsiooni välja kutsuda
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
asjameez
Kreisi kasutaja
asjameez

liitunud: 10.12.2006



Autoriseeritud ID-kaardiga
sõnum 03.01.2008 01:59:57 vasta tsitaadiga

Tänud! Nii lihtne oligi icon_razz.gif
Kommentaarid: 63 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 61
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 02.11.2009 12:52:05 vasta tsitaadiga

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

<a name="tule_siia"></a>


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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 15.01.2010 11:33:46 vasta tsitaadiga

Küsin uue küsimuse. icon_biggrin.gif 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
vaata kasutaja infot saada privaatsõnum
kullar
HV kasutaja
kullar

liitunud: 26.11.2006



Autoriseeritud ID-kaardiga
sõnum 15.01.2010 15:32:37 vasta tsitaadiga

Ise kasutasin mingi aeg sellist asja, mis baseerub jQuery peal http://labs.abeautifulsite.net/projects/js/jquery/alerts/demo/
_________________
Online Perekonna Eelarve, Keerukamad veebipõhised infosüsteemid jms
Kommentaarid: 28 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 15.01.2010 19:06:23 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 16.01.2010 00:10:11 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 16.01.2010 17:36:57 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 18.01.2010 12:05:48 vasta tsitaadiga

<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 icon_neutral.gif Kui keegi koodi näite annab (eriti JS) siis ehk veel. icon_biggrin.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 18.01.2010 12:25:06 vasta tsitaadiga

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 icon_neutral.gif Kui keegi koodi näite annab (eriti JS) siis ehk veel. icon_biggrin.gif
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 icon_razz.gif
_________________
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
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.01.2010 13:49:41 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 19.01.2010 15:38:25 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 19.01.2010 17:07:17 vasta tsitaadiga

Le Inc,
javascript:
  1. $('#ok_nupp').click(function() {
  2.   $.post(
  3.     'paring.php', // kuhu saadame päringu
  4.     { // 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.
  5.       info: 'mingi väärtus',
  6.       info2: $('#mingi_v2li').val()
  7.     },
  8.     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
  9.       $('#minu_dialoog').dialog('close');
  10.     }
  11.   );
  12.   return false; // kui tegu on formi submittiva nupuga, mitte suvalise pildiga.
  13. });
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 10:08:19 vasta tsitaadiga

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:
  1.  
  2. $(function(){
  3.         // jQuery UI Dialog
  4.         $('#dialog').dialog({
  5.             autoOpen: false,
  6.             width: 400,
  7.             modal: true,
  8.             resizable: false,
  9.             buttons: {
  10.                 "Salvesta": function() {
  11.                 //SIIN PEAKS MIDAGI TEGEMA!?
  12.                 },
  13.                 "Ära salvesta": function() {
  14.                     $(this).dialog("close");
  15.                 }
  16.             }
  17.         });
  18.  
  19.      $('#kala123').submit(function(){
  20.             $('#dialog').dialog('open');
  21.             return false;
  22.  
  23.         });
  24.   });
  25.  


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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 10:20:47 vasta tsitaadiga

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:
  1. $('#minu_formi_id').append('<input type="hidden" name="salvesta" value="misiganes" />');

Oma formil püüad submiti kinni järgmiselt:
javascript:
  1. $('#minu_formi_id').submit(function(){
  2.   //mingi kood millega sa dialoogi ette kutsud
  3.   return false;
  4. });
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 10:27:36 vasta tsitaadiga

Ohh ... Kood

javascript:
  1.  
  2. $(function(){
  3.         // jQuery UI Dialog
  4.         $('#dialog').dialog({
  5.             autoOpen: false,
  6.             width: 400,
  7.             modal: true,
  8.             resizable: false,
  9.             buttons: {
  10.                 "Salvesta": function() {
  11.                // document.index.submit();
  12.                 $.post('index.php', { info123: 'test' });
  13.                 },
  14.                 "Ära salvesta": function() {
  15.                     $(this).dialog("close");
  16.                 }
  17.             }
  18.         });
  19.  
  20.      $('#kala123').click(function(){
  21.             $('#dialog').dialog('open');
  22.             return false;
  23.  
  24.         });
  25.   });
  26.  


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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 10:31:16 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 11:17:02 vasta tsitaadiga

Nii, kood on selline:

javascript:
  1.  
  2. $(function(){
  3.         // jQuery UI Dialog
  4.         $('#dialog').dialog({
  5.             autoOpen: false,
  6.             width: 400,
  7.             modal: true,
  8.             resizable: false,
  9.             buttons: {
  10.                 "Salvesta": function() {
  11.                 $.post('index.php', { info123: 'test' },
  12.                 function() {
  13.                 $('#dialog').dialog('close');
  14.                 }
  15.                 );
  16.                 return false;
  17.                 },
  18.                 "Ära salvesta": function() {
  19.                     $(this).dialog("close");
  20.                 }
  21.             }
  22.         });
  23.  
  24.      $('#index').submit(function(){
  25.             $('#dialog').dialog('open');
  26.             return false;
  27.  
  28.         });
  29.   });
  30.  


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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 12:18:59 vasta tsitaadiga

Näitad ehk terve lehe ette ?
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 12:22:09 vasta tsitaadiga

Ma teen ühe test lehekese. Põhilehel pea 1000 rida koodi icon_smile.gif

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 12:28:27 vasta tsitaadiga

Jsbin.com thumbs_up.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 13:55:46 vasta tsitaadiga

Tõmbasin siit ( http://www.jensbits.com/2009/10/04/jquery-ajax-and-jquery-post-form-submit-examples-with-php/ ) prooviks ühe testi, kuid submit nupp infot edasi ei anna .. krt midagi serveri konfis valesti?

Tundub et tee mis sa tahad aga jquerist ma infi serverisse saata (php) ei saa (võimalik et $_GET töötaks, aga see ei sobi). Seega pole ka võimalik mingit protsessi juhtida. icon_confused.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 14:02:05 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 14:19:37 vasta tsitaadiga

http://www.fortumtartu.ee/naidud/demo/test.php

Ehk on abi ...
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 14:56:35 vasta tsitaadiga

Le Inc kirjutas:
http://www.fortumtartu.ee/naidud/demo/test.php

Ehk on abi ...
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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 15:24:59 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 17:50:57 vasta tsitaadiga

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 ... icon_biggrin.gif 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
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 21:50:08 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 22:17:36 vasta tsitaadiga

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 icon_biggrin.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 20.01.2010 22:19:17 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 20.01.2010 22:22:37 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 10:08:00 vasta tsitaadiga

link :: jquery'st -> php

Jutt õige, JS on suht-koht tume maa. icon_smile.gif 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? icon_smile.gif

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? icon_biggrin.gif

LISA:

Tõesti firebug näitab et POST kraami tuleb icon_razz.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 10:34:56 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 11:44:37 vasta tsitaadiga

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 icon_razz.gif)! 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? icon_rolleyes.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 12:16:08 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 13:28:06 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 21.01.2010 14:14:16 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 14:21:14 vasta tsitaadiga

Vabandage mu enesekindlust, aga ma arvan, et Le Inc pole kunagi tahtnudk Ajax rakendust teha. icon_razz.gif 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:
  1. $('#minu-formi-id').submit()

Kus minu-formi-id on sama id, mis oled andndnud oma formile
html:
  1. <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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 21.01.2010 14:24:50 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 16:58:17 vasta tsitaadiga

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. thumbs_up.gif

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 icon_biggrin.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003



Autoriseeritud ID-kaardiga
sõnum 21.01.2010 20:14:44 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 22.01.2010 10:01:09 vasta tsitaadiga

Õigus sul on! Ma midagi sarnast eila õhtul proovisin, aga jätsin ühtteist tegemata. icon_smile.gif

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
vaata kasutaja infot saada privaatsõnum
mikk36
HV Guru
mikk36

liitunud: 21.02.2004




sõnum 22.01.2010 10:15:02 vasta tsitaadiga

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 icon_smile.gif
Kommentaarid: 85 loe/lisa Kasutajad arvavad:  :: 0 :: 2 :: 78
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga
sõnum 22.01.2010 12:19:12 vasta tsitaadiga

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 icon_smile.gif

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. icon_wink.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  JavaScript mine lehele 1, 2  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.