Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    14

    messaggio di errore alert() che deve bloccare il passaggio alla pagina successiva

    cioa a tutti
    ho scritto nel mio codice una funzione che controlla una casella di testo e manda un messaggio di errore, con la funzione alert(), se c'è qualcosa che non va; il problema è che quando premo Ok continua l'esecuziona alla pagina successiva e non mi permette così di modificare la casella di testo.

    Grazie per l'aiuto

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998

    Re: messaggio di errore alert() che deve bloccare il passaggio alla pagina successiva

    Originariamente inviato da villato1
    ho scritto nel mio codice una funzione ........
    Per quale parte del codice che hai postato vuoi l'aiuto? forse e' meglio se ci fai vedere quello che hai fatto finora

    ciao
    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
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    14
    Il codice è il seguente:

    function verifica()
    {
    var text = document.getElementById('qu');

    if (text.value == "")
    {
    alert("Inserire il numero di partizioni per il dispositivo RAID");

    }
    if ((text.value < "2")||(text.value > "6"))
    {
    alert("Inserire un numero di partizioni adeguato per il dispositivo RAID");

    }
    var tipo = document.getElementById('r5');
    if ((tipo.checked == "true")&&(text.value > "6"))
    {
    alert("Inserire un numero di partizioni adeguato per il dispositivo RAID 5");

    }

    }


    e sul codice html

    <input type="submit" value="Avanti" onClicK="verifica()" name="avanti" >

    il messaggio di errore esce correttamente ma quando lo chiudo cambia lo stesso la pagina e non posso modificare il campo in cui c'era l'errore.

  4. #4
    Utente di HTML.it L'avatar di oskaron
    Registrato dal
    Sep 2006
    Messaggi
    344
    non è cosi scontato prendere i risultati da un form. Specie se hai usato dei select. Bisognerebbe vedere anche come è il form. Comunque non funziona perchè quando clicca su avanti la pagina va comunque avanti, dovresti fare in modo che quando clicca l'evento click non si "propaga" mi pare il fenomeno si chiami binding, correggetemi se serve, dopodiche eseguire il controllo e poi inviare alla nuova pagina. E' estremamente utile mettere comunque un controllo lato server nella pagina successiva per chi ha disabilitato javascript

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    i controlli non vanno sui tasti submit (o affini)
    ma onsubmit nel form facendo ritornare true o false a seconda che il modulo vada inviato o meno
    function funzione(){
    if(...intoppo...){
    alert('...blablabla...');
    return false;
    }
    else return true;
    }

    <form onsubmit="return funzione()">

  6. #6
    Originariamente inviato da Xinod
    i controlli non vanno sui tasti submit (o affini)
    ma onsubmit nel form facendo ritornare true o false a seconda che il modulo vada inviato o meno
    function funzione(){
    if(...intoppo...){
    alert('...blablabla...');
    return false;
    }
    else return true;
    }

    <form onsubmit="return funzione()">
    Confermo al 98% l'affermazione di Xinod.
    Il controllo va messo nella dichiarazione del form ma nei casi in cui ad esempio tu vuoi bloccare in tempo reale la lunghezza massima dei caratteri scritti in una textarea il controllo deve essere scritto all'interno della textarea.
    Comunque per il problema in oggetto la soluzione è proprio quella di Xinod.
    Ciao

  7. #7
    Utente di HTML.it L'avatar di oskaron
    Registrato dal
    Sep 2006
    Messaggi
    344
    si oppure per eseguire molteplici campi con un uncia funzione si puo creare una funzione con prototype (lo so mi odierete che la nomino sempre) che controlla i vari campi e tiene per esempio disattivato il tasto submit, ma qui è la fantasia di ognuno e l'usabilità che deve suggerire come fare

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.