Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Salto automatico nella stessa pagina al verificarsi di una condizione

    Una domandina facile facile (per voi, non per me )

    Devo far eseguire, automaticamente al verificarsi di una certa condizione in uno script, un salto di pagina ad una determinata posizione.
    So come si fa con la codifica html, ma in javascript qual'è il codice?

    Dovendo eseguire automaticamente questo salto, penso sia un comando simile al location.href per andare su una nuova pagina, ma nel mio caso devo far eseguire solo un salto nella stessa pagina....

    Seconda domandina:

    è corretta la seguente sintassi?

    if (A="" & B!="") OR (A!="" & B="") {codice salto stessa pagina}
    else
    ecc..


    questa condizione dovrebbe confrontare se la variabile A e B sono entrambe vuote o entrambe piene: in caso contrario, si deve eseguire il salto (nella stessa pagina)...

    Il codice è scritto correttamente (per quanto riguarda l'if)?

    Thanks 1000
    E. Barros

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Hai fatto un melange di js (errato) e vb

    if ((A=="" && B!="") || (A!="" && B=="")) {location.href="#ancora"}
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    è corretta la seguente sintassi? if (A="" & B!="") OR (A!="" & B="") {codice salto stessa pagina} else ecc..
    c'è poco di corretto ..
    innanzitutto entrambe le condizioni devono essere dentro la stessa coppia di parentesi, poi il segno uguale delle delle condizioni A="" e B="" va sostituito con una coppia di segno uguale ..

    ammettendo che ci siano i segni giusti, quelle condizioni controllano che una variabile sia vuota e l'altra non vuota e viceversa ..
    prova con ..
    if ((A=="" && B=="") OR (A!="" && B!="")) {codice}
    else {codice salto stessa pagina}

  4. #4
    Ciao, prima di tutto ti ringrazio, ho provato il codice però forse ho sbagliato qualcosa nell'adattarlo al mio script, c'è qualcosa che non funziona....

    Spiego quello che dovrebbe fare lo script:
    in un form, io ho una serie di input organizzati in una tabella , riguardante i membri della famiglia dell'utente (fino a 7 membri, e per ciascuno di quelli selezionati bisogna inserire anche l'età e il lavoro).

    Quindi con quel codice (che richiamo da un'onclick inserito in un input successivo), devo verificare che almeno un membro della famiglia sia stato selezionato, in caso contrario appare un messaggio di errore e si salta automaticamente di nuovo all'inizio della tabella.

    Se invece almeno un membro è stato selezionato, si deve effettuare il controllo, per ciascuno dei membri selezionati (che possono essere quindi da 1 a 7), se sono stati inseriti tutti e due gli input riguardanti l'età e il lavoro; se è stato inserito solo uno di questi 2 input, deve apparire un messaggio di errore e si salta di nuovo all'inizio della tabella.

    Qui sotto riporto i due codici, lo script prima dell' </head>:

    <SCRIPT LANGUAGE="JavaScript">
    <!-- ;
    function valefamily(){
    var nomen1 = document.getElementById('etaDad').value;
    var nomen2 = document.getElementById('etaMom').value;
    var nomen3 = document.getElementById('etaSister1').value;
    var nomen4 = document.getElementById('etaSister2').value;
    var nomen5 = document.getElementById('etaSister3').value;
    var nomen6 = document.getElementById('etaBrother1').value;
    var nomen7 = document.getElementById('etaBrother2').value;
    var nomen11 = document.getElementById('Dadwork').value;
    var nomen12 = document.getElementById('Momwork').value;
    var nomen13 = document.getElementById('workofmysister1').value;
    var nomen14 = document.getElementById('workofmysister2').value;
    var nomen15 = document.getElementById('workofmysister3').value;
    var nomen16 = document.getElementById('workofmybrother1').value;
    var nomen17 = document.getElementById('workofmybrother2').value;
    var nomen8 = nomen1 + nomen2 + nomen3 + nomen4 + nomen5 + nomen6 + nomen7;
    if(nomen8 =="") {alert('Error to the field YOUR FAMILY: please select at least an family member, and insert all her data, thanks!');location.href="#ancora"}
    else {
    if ((nomen1=="" && nomen11!="") || (nomen1!="" && nomen11=="")) {alert('Attenzione: manca un dato riguardante tuo padre!');location.href="#ancora"}
    if ((nomen2=="" && nomen12!="") || (nomen2!="" && nomen12=="")) {alert('Attenzione: manca un dato riguardante tua madre!');location.href="#ancora"}
    if (nomen3=="" && nomen13!="") || (nomen3!="" && nomen13=="")) {alert('Attenzione: manca un dato riguardante tua sorella!');location.href="#ancora"}
    if ((nomen4=="" && nomen14!="") || (nomen4!="" && nomen14=="")) {alert('Attenzione: manca un dato riguardante tua sorella!');location.href="#ancora"}
    if ((nomen5=="" && nomen15!="") || (nomen5!="" && nomen15=="")) {alert('Attenzione: manca un dato riguardante tua sorella!');location.href="#ancora"}
    if ((nomen6=="" && nomen16!="") || (nomen6!="" && nomen16=="")) {alert('Attenzione: manca un dato riguardante tuo fratello!');location.href="#ancora"}
    if ((nomen7=="" && nomen17!="") || (nomen7!="" && nomen17=="")) {alert('Attenzione: manca un dato riguardante tuo fratello!');location.href="#ancora"}
    }
    }
    }
    // end hide -->
    </SCRIPT>
    </head>


    Mentre l'html è:


    <TABLE WIDTH="100%" BORDER=0>
    <TR><TD><input type="checkbox" name="YOUR_FAMILY" id="mia_famiglia_MIO_PADRE" class="checkbox" />Dad</input></TD>
    <TD><select onchange="showValue(this.value)" id="etaDad" name="etaDad">
    <option value="">Age : </option>
    <option value="28">28</option>
    .................................
    </select>
    </TD><TD align=right><input type="text" id="Dadwork" name="Dad_work" class="text-input" value=""></td><td align=left>Work of my dad
    </TD> </TR><TR><TD><input type="checkbox" name="YOUR_FAMILY" id="mia_famiglia_MIA_MADRE" class="checkbox" />Mom</input>
    </TD><TD><select onchange="showValue(this.value)" id="etaMom" name="etaMom">
    <option value="">Age : </option>
    .............................................
    </select>
    </TD>
    <TD align=right><input type="text" name="Mom_work" id="Momwork" class="text-input" value=""></td><td align=left>Work of my mom
    </TD> </TR><TR>
    <TD><input type="checkbox" name="YOUR_FAMILY" id="mia_famiglia_MIA_SORELLA_1" class="checkbox" />Sister</input>
    </TD><TD><select onchange="showValue(this.value)" id="etaSister1" name="etaSister1">
    <option value="">Age : </option>
    ....................................
    </select>
    </TD><TD align=right><input type="text" name="work_of_my_sister_1" id="workofmysister1" class="text-input" value=""></td><td align=left>Work/employment of my sister 1
    </TD> </TR><TR><TD><input type="checkbox" name="YOUR_FAMILY" id="mia_famiglia_MIA_SORELLA_2" class="checkbox" />Sister</input>
    </TD> <TD><select onchange="showValue(this.value)" id="etaSister2" name="etaSister2">
    <option value="">Age : </option>
    ....................................
    </select>
    </TD><TD align=right><input type="text" name="work_of_my_sister_2" id="workofmysister2" class="text-input" value=""></td><td align=left>Work/employment of my sister 2
    </TD></TR><TR>
    <TD><input type="checkbox" id="mia_famiglia_MIA_SORELLA_3" name="YOUR_FAMILY" class="checkbox" />Sister</input>
    </TD><TD><select onchange="showValue(this.value)" id="etaSister3" name="etaSister3">
    <option value="">Age : </option>
    ....................................
    </select>
    </TD><TD align=right><input type="text" name="work_of_my_sister_3" id="workofmysister3" class="text-input" value=""></td><td>[b]Work/employment of my sister 3
    </TD></TR><TR><TD><input type="checkbox" name="YOUR_FAMILY" id="mia_famiglia_MIO_FRATELLO_1" class="checkbox" />Brother</input>
    </TD> <TD><select onchange="showValue(this.value)" id="etaBrother1" name="etaBrother1">
    <option value="">Age : </option>
    ........................................
    </select>
    </TD><TD align=right><input type="text" id="workofmybrother1" name="work_of_my_brother_1" class="text-input" value=""></td><td>[b]Work/employment of my brother 1
    </TD> </TR><TR>
    <TD><input type="checkbox" name="YOUR_FAMILY" id="mia_famiglia_MIO_FRATELLO_2" class="checkbox" />Brother</input>
    </TD><TD><select onchange="showValue(this.value)" id="etaBrother2" name="etaBrother2">
    <option value="">Age : </option>
    ............................
    </select>
    </TD><TD align=right><input type="text" name="work_of_my_brother_2" id="workofmybrother2" class="text-input" value=""></td><td>[b]Work/employment of my brother 2
    </TD></TR>
    </TABLE>


    Di sicuro c'è un errore nello script, ma non riesco a trovarlo....
    E. Barros

  5. #5
    c'è solo un errore nello script?!?

    c'è una mancanza importante nel codice html ..
    un paio di errori di sintassi .. e poi ..

    con ordine ..

    html : la tabella non è l'ancora .. <table id='ancora' ...

    js : tutti gli ordini di scorrimento location.href = '#ancora' devono essere chiusi con il segno ;
    una delle tre parentesi graffe, che stanno alla fine della funzione, è di troppo
    .. e poi ..
    il controllo dei dati età-lavoro non viene eseguito soltanto sui membri selezionati

  6. #6
    Accidenti alla fretta
    Ho fatto degli errori piuttosto grossolani, ti ringrazio per avermeli fatti notare...

    Riposto la parte dello script corretta, (mentre per quanto riguarda l'ancora alla tabella l'avevo già posizionata subito prima del tag <table...>)

    .......
    if(nomen8 =="") {alert('Error to the field YOUR FAMILY: please select at least an family member, and insert all her data, thanks!');location.href="#ancora";}
    else
    if ((nomen1=="" && nomen11!="") || (nomen1!="" && nomen11=="")) {alert('Attenzione: manca un dato riguardante tuo padre!');location.href="#ancora";}
    else
    if ((nomen2=="" && nomen12!="") || (nomen2!="" && nomen12=="")) {alert('Attenzione: manca un dato riguardante tua madre!');location.href="#ancora";}
    else
    if (nomen3=="" && nomen13!="") || (nomen3!="" && nomen13=="")) {alert('Attenzione: manca un dato riguardante tua sorella!');location.href="#ancora";}
    else
    if ((nomen4=="" && nomen14!="") || (nomen4!="" && nomen14=="")) {alert('Attenzione: manca un dato riguardante tua sorella!');location.href="#ancora";}
    else
    if ((nomen5=="" && nomen15!="") || (nomen5!="" && nomen15=="")) {alert('Attenzione: manca un dato riguardante tua sorella!');location.href="#ancora";}
    else
    if ((nomen6=="" && nomen16!="") || (nomen6!="" && nomen16=="")) {alert('Attenzione: manca un dato riguardante tuo fratello!');location.href="#ancora";}
    else
    if ((nomen7=="" && nomen17!="") || (nomen7!="" && nomen17=="")) {alert('Attenzione: manca un dato riguardante tuo fratello!');location.href="#ancora";}
    }
    }
    // end hide -->
    </SCRIPT>
    </head>


    A questo punto l'unica mia perplessità riguarda gli else: così come li ho scritti possono funzionare (o necessitano di ulteriori } )?
    E. Barros

  7. #7
    ora devi solo provare il codice

  8. #8
    Prima però vorrei chiedere un'altra cosa, riguardo ai controlli sui membri della famiglia (per capire se sono stati selezionati o meno):
    come hai notato, non ho fatto questo controllo direttamente sui membri, ma ho "spostato" questo controllo sulla loro età eventualmente selezionata....questo perchè per selezionare i membri della famiglia ho usato dei checkbox, e il codice che ho usato per tutti gli altri campi degli input (ad es.: var nomen1 = document.getElementById('etaDad').value;) nel caso dei checkbox mi restituisce lo stesso valore, sia se la checkbox è selezionata o no...Ho provato, fa questo...
    Dovrei usare un codice che assegna alla variabile un valore diverso a seconda che la checkbox sia selezionata o meno....qual'è questo codice?

    In generale, qual'è il codice per assegnare ad una variabile il contenuto appena selezionato da un tag di input, di qualsiasi genere (radio, checkbox, select, texarea, ecc)? Questo per poter fare dei controlli mentre l'utente si trova ancora nella pagina del form...
    E. Barros

  9. #9
    mi sento scrittore oggi, così..

    allora, il codice per assegnare un valore ad un variabile quando una checkbox prende la spunta..

    l'html..
    <input type='checkbox' onclick='assegnaValore(this)' value='non scelto'>Dad

    il js..
    function assegnaValore(casella)
    {
    if(casella.checked == true)
    casella.value = 'scelto';
    else
    casella.value = 'non scelto';
    }

    .. poi controlli i valori delle checkbox .. ma è una fatica doppia ..
    ovviamente la fatica singola è controllare direttamente l'attributo checked delle singole checkbox


    per il codice generale per gli elementi dei form, non ho mica capito cosa intendi con il contenuto selezionato

    per molte altre domande, trovi le risposte a
    http://www.diodati.org/w3c/html401/i...ms.html#h-17.4

  10. #10
    Grazie per i suggerimenti, ho risolto con l'attributo checked...
    Se non è troppo per oggi (ma visto che hai aspirazioni letterarie ti faccio anche questa domanda):
    premetto che sono un "vecchio" programmatore che ai suoi tempi programmava in basic: con javascript non ho capito come devo fare un salto condizionato nello script (col basic era tutto più semplice, ma javascript per me... ).
    Mi spiego:
    un utente inserisce un input (in una select, con valori 1,2,3, se non seleziona la select assume valore 0). A seconda del valore selezionato, uno script deve far eseguire un gruppo di operazioni distinte, per ciascun valore.

    Esempio :

    <script language="javascript">
    function valorenumerico(test){
    var numberinput = document.getElementById('Numberselected').value;
    if (numberinput == "0") {alert('Attenzione: devi selezionare un valore, grazie.');}
    else
    if (numberinput == "1") {goto funzione1();
    }
    else
    if (numberinput == "2") {goto funzione2();
    }
    else
    function funzione3() {
    gruppo di if e altre operazioni relative alla funzione3
    ............
    ............
    }
    function funzione1() {
    gruppo di if e altre operazioni - funzione1
    ............
    ............
    }
    function funzione 2() {
    gruppo di if e altre operazioni - funzione2
    ............
    ............
    }
    }
    </script>


    Questo script dovrebbe, a seconda del valore di numberinput, eseguire un gruppo di istruzioni specifiche (se numberinput non è nè 0, nè 1 nè 2 si esegue la funzione3...) ed uscire subito dopo.

    Ovviamente il goto che ho usato in questo esempio è un'istruzione del basic, qual'è l'equivalente in javascript?

    Ti ringrazio di nuovo e ti auguro una buona serata.
    E. Barros

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.