Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372

    javascript onclick button carica pagina e non la funzione

    solo in firefox 50.1.0 ho questa anomalia:

    dopo un login la pagina principale in php contiene html e un button

    <input id="pbRicEl" class="Bt" type="button" value="Ricerca" onClick="onAction(this);" />


    cliccando il pulsante dovrebbe lanciare la funzione js inclusa nel file nella head che via ajax elabora in php e ritorna dati formattati in html in un div della pagina principale;

    la funzione viene chiamata ma in debugger nell'elenco dei sorgenti � presente la pagina in php, sembra che venga richiamata l'intera pagina in quanto un messaggio del controllo di sessione ritorna un id di sessione diverso

    in crome e safari tutto ok

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Le sessioni non centrano nulla con js, ritengo che il problema sia lato server
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Le sessioni non centrano nulla con js, ritengo che il problema sia lato server
    si concordo, intendevo che dal messaggio mi sono accorto che veniva chiamata la pagina.

    lato server, cosa dovrei controllare:
    - chiamata store procedure
    - impaginazione dati
    - ritorno richiesta

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Verificherei che il login (è relativa sessione) siano corretti prima del click sul button, in seguito monitorerei la chiamata Ajax.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Verificherei che il login (� relativa sessione) siano corretti prima del click sul button, in seguito monitorerei la chiamata Ajax.
    E' stata la prima cosa che avevo verificato: sia la login (apertura di sessione) che la pagina principale hanno lo stesso id di sessione.

    In firefox 50.1 anche i link del menu producono lo stesso problema a meno che non li scriva cos�:

    <li><a id="m12" href="javascript:onAction(document.getElementById("m12"));">Check digit</a></li>


    Se utilizzo firefox mozzilla 39.0.3 sia in locale che in hosting non ho questo tipo di errore, nell'elenco dei sorgenti in debugger sono presenti solo i file .js e non la pagina in php.

  6. #6
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Puoi incollare qui i response headers della AJAX request?
    Ultima modifica di Little Hawk; 24-01-2017 a 19:48

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    Quote Originariamente inviata da Little Hawk Visualizza il messaggio
    Puoi incollare qui i response headers della AJAX request?
    allora:

    response header in locale con firefox mozilla 50

    Date: Wed, 25 Jan 2017 08:50:26 GMT
    Server: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
    X-Powered-By: PHP/5.4.7
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Content-Length: 1661
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Content-Type: text/html

    response header in hosting con firefox mozilla 50

    Date: Wed, 25 Jan 2017 09:05:37 GMT
    Server: Apache
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Vary: Accept-Encoding
    Content-Encoding: gzip
    X-Powered-By: PHP/5.4.45, PleskLin
    Keep-Alive: timeout=15, max=99
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: text/html


    response header in hosting con con firefox mozilla 39

    Date: Wed, 25 Jan 2017 09:17:19 GMT
    Server: Apache
    X-Powered-By: PHP/5.4.45, PleskLin
    Expires: Thu, 19 Nov 1981 08:52:00 GMT
    Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    Pragma: no-cache
    Vary: Accept-Encoding
    Keep-Alive: timeout=15, max=98
    Connection: Keep-Alive
    Content-Type: text/html
    Content-Encoding: gzip
    Content-Length: 371


    ho notato, in mozilla 50, che la pagina principale in php appare nell'elenco sorgenti del debugger prima che venga effettuata la chiamata ajax passando alla funzione js questo riferimento "http://localhost/progetti/test/index.php#" e non l'id del tag <a> producendo il seguente messaggio:

    #Area riservata, accesso negato!

    Effettuare il login. id sessione --> fajt2sk09rvkc2vhgdm18l5o30


    in questo caso l'id di sessione � diverso dal precedente login

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    372
    continuando con la mia ultima deduzione, cerco di spiegarmi meglio:

    js

    function onAction(obj) {
    alert('obj '+obj); //punto di controllo

    - set parametri

    - chiamata Ajax

    - gestione risposta Ajax
    }


    menu
    <li><a id="m12" href="#" onclick="onAction(this)">Check digit</a></li>

    questo click in mozilla 50, chiama la pagina "http://localhost/progetti/test/index.php#" è come se venisse richiamata digitandola nella barra degli indirizzi, e quindi crea una nuova sessione diversa dalla login, poi prosegue il codice che effettua la chiamata Ajax che ritorna nella index.php porzione di html


    <li><a id="m12" href="javascriptnAction(document.getElementById('m12'))">Check digit</a></li>

    questo click in mozilla 50, non carica la index.php, quindi continua la sessione della login e procede nella chiamata Ajax


    perchè ciò accade solo in mozilla 50 mentre in mozilla 39, safari e crome il click nel menu o sui button funzionano?

  9. #9
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Coi link scritti in quel modo (attribute href="#" piu' onclick event) devi stoppare l'event propagation altrimenti quel comportamento e' normale in alcuni browsers, i.e. ti esegue la funzione ma ti carica anche la pagina con il fragment identifier vuoto. L'alternativa e' come hai gia' visto usare uno url del tipo "javascript:...".

  10. #10
    Guest
    Registrato dal
    Jun 2012
    residenza
    Espoo, Finland
    Messaggi
    286
    Per qualche motivo non mi fa aggiornare il post, cmq intendevo che dovresti aggiungere e.g.

    e.stopPropagation();
    e.preventDefault();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.