Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [jQuery] Ottenere informazioni su un attributo css

    Salve, prima di scrivere questo thread ho letto numerose guide senza però venire a capo del mio problema
    Ho una serie di <input> ed un tasto che alla fine deve verificare che l'attributo "border" di questi <input> sia in un certo modo.
    Il codice che stò provando ora è:
    codice:
    $("form").submit(function() {
                    alert($("input1").css("border"));
                });
    ma ottengo ogni volta "undefined" come output, non riusciendo ad ottenere il dato di cui ho bisogno

    l'html della casella input1 è
    codice:
    <input name="input1" id="input1" type="text"  class="test"/>
    Un altra cosa che non mi è chiara è perché l'alert funzioni visto che il mio form ha sia come nome che come id "corpo" e non "form", mi sa che sto facendo una grossa confusione Qualcuno potrebbe schiarirmi le idee?

    Grazie mille!

  2. #2
    Utente di HTML.it L'avatar di poyel
    Registrato dal
    Oct 2010
    Messaggi
    51

    Re: [jQuery] Ottenere informazioni su un attributo css

    Originariamente inviato da AlexanderPD

    codice:
    $("form").submit(function() {
                    alert($("input1").css("border"));
                });
    ma ottengo ogni volta "undefined" come output, non riusciendo ad ottenere il dato di cui ho bisogno
    C'è un piccolo errore nella sinstassi jquery.

    http://api.jquery.com/category/selectors/

    In questa pagina viene spiegato l'uso dei selettori di jquery, ad esempio:

    $("#id1") si riferisce ad un nodo con id="id1"
    $(":form") si riferisce a tutti i form della pagina
    $(".class1") si riferisce a un nodo con class="class1"

    Il programmatore è colui che converte
    la caffeina in codice.

  3. #3
    eheh vero grandissima svista!! :P
    ora però se metto #input1 l'alert non mi ritorna proprio niente, come se non ci fosse settato nessun attributo "border"
    Per "non ritorna niente" intendo che si apre il popup senza nessuna scritta, solo il tasto ok

    il border lo setto tramite l'uso di <style>, quello di prova che ho fatto è
    codice:
                input.test
                {
                    padding:3px;
                    font-size:12px;
                    border:3px #CCC solid;
                }
    Cosa potrei star sbagliando?

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    se posso, setta e testa classi piuttosto che singole proprieta' css

    con jquery setti e rimuovi classi con facilita', in piu' hai .is('.nomeClasse') o .hasClass('nomeClasse') per verificare in quale "stato" si trovi il tuo elemento

    ciao

  5. #5
    Grazie a tutti finalmente funziona! ^__^

    con lo script
    codice:
                $("form").submit(function() {
                    if ($("#input1").hasClass("test"))
                    {
                        $("span").text("Invio informazioni in corso..").show();
                        return false;
                    }
                    $("span").text("Non tutti i campi fondamentali son stati riempiti!").show().fadeOut(5000);
                    return false;
                });
    riesco ad intercettare lo stato delle classi della casella in questione, mentre per settarla, considerando che ho un totale di 3 classi (wrong, correct e test) faccio

    codice:
    $("#input1").removeClass("test wrong").addClass("correct");
    Grazie mille a tutti!!

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.