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

    controllo senza passar valori per form


    Con JS c'è modo di controllare senza fare 1 refresh della pagina e nemmeno senza spedire dati...di controllare un valore selezionato da 1 select...vi spiego cosa dovrei controllare

    ho 1 select
    - pippo (quantità 3)
    - topolino (quantità 4)
    - paperino (quantità 2)

    poi ho 1 campo text...

    io vorrei che ..selezionando un valore nella select (tipo pippo)...poi nel campo testo se inserisco un numero superiore a 3 esca il classico allert
    "non è posibile inserire un valore superiore a 3 per la voce scelta nella select"

    vorrei fare questo senza spedire nessun tipo di dato...se può?

    ...oltre a questo aggiungo...

    mi piacerebbe anche controllare che il valore inserito non superi un dato numero (dalla select) e che sia sempre maggiore di "zero"




    :master:
    Tanto...lo fanno tutti... posso farlo anche io vero?

  2. #2
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Puoi mettere una funzione nel tuo text

    cioè:

    <imput type="text" size="5" onclick="alert('Non puoi immettere un valore maggiore di 3');">


    Non vedo soluzioni migliori!

    Ciao.

  3. #3
    Igreo

    credo di essermi spiegato male, per l'allert ...si è il risultato che voglio ottenere ma in questo modo:

    Dato 1 form con 1 select e un campo input text:
    codice:
    <form>
    <select name="size" class="size">
    <option value="">Select</option>
    <option value="s">Small</option>
    <option value="m">Medium</option>
    <option value="l">Large</option>
    <option value="xl">Extra large</option>
    <option value="xxl">XxL</option>
    </select>
    
    <h4>Quantità/</h4>
    
    <input type="text" name="quantity" class="quantity"/>
    <input type="submit" name="Submit" value="Add to shopping bag" class="invia"/>
    </form>
    per ogni valore della select ho delle quantità (per cui dati dinamici che cambiamo) a parte che nel value della select c'è il tipo di misura e non la quantità....mettiamo che io ci metto la quantità....

    ora... prima di spedire il form scelgo dalla select la taglia Medium (per la quale ...esempio...ho max 4 )....poi nel campo input text vado a scrivere 6 ...a quel punto (clikkando sul submit) ...mi piacerebbe che uscisse 1 allert con scritto "Spiacenti la taglia MEDIUM dispone di un max di 4, cambiare la quantità" ....

    per fare questo dovrebbe essere tutto un controllo lato client...per cui JS ...è che ...se vado ad inviare i dati ...mi rigiro le cose e lo faccio a modo mio....ma senza inviare i dati non so come controllare questa cosa.

    non devo controllare che la select sia NULL o se c'è qualcosa ma devo fare un confronto tra il dato inviato da SELECT e il dato inviato da INPUT TEXT ...dove il dato inviato in INPUT TEXT deve essere < o = a quello inviato, scelto nella select.

    --------------------------------
    scusate se non ho il dono della sintesi

    --------------------------------
    Tanto...lo fanno tutti... posso farlo anche io vero?

  4. #4
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    <form name="nome_tuo_form">
    <select name="size" class="size" onclick="Javascript: alChange();">
    <option value="">Select</option>
    <option value="s">Small</option>
    <option value="m">Medium</option>
    <option value="l">Large</option>
    <option value="xl">Extra large</option>
    <option value="xxl">XxL</option>
    </select>

    <h4>Quantità/</h4>

    <input type="text" name="quantity" class="quantity"/>
    <input type="submit" name="Submit" value="Add to shopping bag" class="invia"/>
    </form>


    <SCRIPT LANGUAGE="Javascript">
    function alChange(){
    for (var i=0; i<=document.nome_tuo_form.size.length; i++) {
    if (document.nome_tuo_form.size.options[i].selected == true) {
    if (document.nome_tuo_form.size.options[0]) alert("Per questa taglia puoi ordinare una mantità non maggiore di 1");
    if (document.nome_tuo_form.size.options[1]) alert("Per questa taglia puoi ordinare una mantità non maggiore di 3");
    if (document.nome_tuo_form.size.options[2]) alert("Per questa taglia puoi ordinare una mantità non maggiore di 5");
    if (document.nome_tuo_form.size.options[3]) alert("Per questa taglia puoi ordinare una mantità non maggiore di 6");
    if (document.nome_tuo_form.size.options[4]) alert("Per questa taglia puoi ordinare una mantità non maggiore di 2");
    if (document.nome_tuo_form.size.options[5]) alert("Per questa taglia puoi ordinare una mantità non maggiore di 5");
    }
    }
    }

    </SCRIPT>


    Ma io ti consiglio diversamente di:

    o fare come tu vuoi.. e cioè soltanto se immettono una quantità superiore compare l'allert, ma meglio sarebbe far apparire nell'imput text QUANTITà MASSIMA = tot ... Questo lo fai con dei controlli javascript dopo che hai individuato quale options è stata selettata! Quindi scrivi l'input text e poi metti una funzione nell'onclick dello stesso per cancellare cosa c'era scritto!

    Dimmi tu cosa preferisci!

    Ciao

  5. #5
    Igreo grazie 1000 per la risposta
    ... mi ci sono arrangiato lato server e mi è venuta carina cmq

    ho fatto così

    - ho resto il campo quantità 1 select <

    - ho fatto 1 controlli se è stata selezionata o no una taglia ...

    - se la taglia non è stata selezionata non stampo la select quantità scrivendo così (Before a quantity choose a size please)

    - al momento della selezione della taglia ...ricarico la pagina con il valore in querystring

    - vado a leggermi la query string per vedere la taglia e cerco la quantità nel database di quella taglia

    - stampo la select con valori da 1 a valore che trovo nel db

    funziona bene bene ...non è js ma fa quel che volevo

    cmq grazie mille per le dritte
    Tanto...lo fanno tutti... posso farlo anche io vero?

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.