2010-07-15 11 views
1

J'ai un simple champ de saisie de texte que les utilisateurs placent dans un nombre. Je dois vérifier quelle plage correspond au nombre (par exemple> 10 ou < 1) et enregistrer une clé/valeur distincte pour cette plage dans la base de données.Modifier la valeur du champ de formulaire caché à la plage du numéro entré

J'ai pensé à un champ caché qui change sa valeur lorsque l'utilisateur entre des données mais je ne sais pas comment déterminer la plage.

(je ne peux pas modifier le bouton d'envoi. J'utilise php et jQuery.)

Merci pour toute aide!

Répondre

1

Si vos gammes sont fixes et que vous demandez sur le code côté client puis

var ranges = {'range1':{min:-1000,max:2},'range2':{min:3,max:10},'range3':{min:11,max:1000}}; 

$('#number').keyup(findRange); 

function findRange(){ 
    var num = parseInt($('#number').val()); 
    $('#secret').val(''); 
    for(rng in ranges) 
    { 
     if (num >= ranges[rng].min && num <=ranges[rng].max) 
     { 
      $('#secret').val(rng); 
     } 
    } 
} 

Démo: http://www.jsfiddle.net/hbPj9/

+0

C'est exactement ce qu'il me fallait! Parfait et incroyable. Merci beaucoup! – Christoph

1

Relativement simple ...

$num = (int) $_POST['num']; 
if ($num < 1) { 
    // do something 
} 
elseif ($num > 10) { 
    // do something else 
} 
Questions connexes