Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762

    [jQuery] Visualizzazione messaggio di errore in form. Firefox si rifiuta.

    Ciao a tutti,

    c'è qualcuno tra voi che potrebbe dirmi dove sbaglio in questa funzione?

    La funzione si occupa, tramite php, di far visualizzare un messaggio di errore in caso di errori rilevati nel form. La funzione è si, php...ma il problema è Js...o meglio, jQuery.

    Codice:
    Codice PHP:
    function generateError($elemDestinazione,$messaggioErrore){
        echo
    ' if($("#errorMessageBox").is(":visible")){
                    $("#errorMessageBox").slideUp(function(){
                        $(this).remove();
                    });
                }
                var x=$("'
    .$elemDestinazione.'").position();
                x=(x.top-50);
                $("body").animate({scrollTop:x},1000,"linear",function(){
                    $("'
    .$elemDestinazione.'").focus();
                    $("<div id=\"errorMessageBox\">'
    .$messaggioErrore.'</div>").insertAfter($("'.$elemDestinazione.'")).slideDown();
                    $("#submitRequest").animate({opacity:"1"},500,function(){
                        $(this).removeAttr("disabled");
                    });
                });
                return false;'
    ;


    Dove " $elemDestinazione " è l'id dell'elemento sotto al quale visualizzare l'errore.

    L'errore altro non è che una linea tratteggiata con il testo appena sotto, che appare sotto l'input text in questione. Appare in slideDown..e disabilita il pulsante di invio..per poi riattivarlo subito dopo..subito dopo aver processato la richiesta Ajax..ecco perchè il tutto è fatto tramite Php.


    Grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    per fare qualcosa subito dopo una richiesta ajax non serve farla in php, basta scrivere il codice che ti serve a mostrare un errore nella success o nella error della $.ajax.

    E sempre visto che hai a che fare con ajax puoi benissimo farti passare $elemDestinazione e $messaggioErrore in formato json.

    Quindi ricapitolando in js:
    codice:
    $.ajax({
        url: "serverscript.php",
        dataType: "json",
        type: "post", //o get 
        data: ({"nomecampo1":valore1, "nomecampo2":"valore2"}),
        success: function(messaggi){
            alert(messaggi.eldest);
            alert(messaggi.messerr);
        }
    })
    In php:
    Codice PHP:
    $messaggi = array("eldest"=>"divsotto1"
                             
    "messerr"=>"Il campo " $_POST['nomecampo1'] . " è richiesto");
    echo 
    json_encode($messaggi); 

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 © 2024 vBulletin Solutions, Inc. All rights reserved.