J'ai une fonction qui affiche un compte à rebours à côté d'un champ de texte pour le nombre de caractères dans le champ (pensez twitter)Javascript limite Commas
<script language="javascript" type="text/javascript">
function countDown(control, maxLen, counter, typeName) {
var len = control.value.length;
var txt = control.value;
var span = document.getElementById(counter);
span.style.display = '';
span.innerHTML = (maxLen - len);
if (len >= (maxLen - 10)) {
span.style.color = 'red';
} else {
span.style.color = '';
}
}
</script>
Et le champ suivant prend jusqu'à une valeur séparées par des virgules. Exemple:
tomate, pomme, orange, poire
et je voudrais limiter cette liste à 5 choses (et 4 virgules séparent).
Comment faire une fonction similaire qui compte à rebours pour le nombre de virgules dans l'entrée. Je suis un débutant en Javascript et en développement Web tous ensemble, si nue avec moi si vous le pouvez.
Merci d'avance.
J'ai démarré ceci, mais cela ne change pas la valeur dans l'intervalle. mon Javascript
<script language="javascript" type="text/javascript">
var max = 5;
function commaDown(area,ticker){
// our text in the textarea element
var txt = area.val();
// how many commas we have?
var commas = txt.split(",").length;
var span = document.getElementById(ticker);
//var commas ++;
if(commas > max) {
// grab last comma position
var lastComma = txt.lastIndexOf(",");
// delete all after last comma position
area.val(txt.substring(0, lastComma));
//it was count with + 1, so let's take that down
commas--;
}
if (txt == '') {
commas = 0;
}
// show message
span.innerHTML = (max-commas);
}
</script>
et mon html (je pense que le problème est ici)
<input id="choices" type="text" name="choices" class="text medium" onkeyup="commaDown('choices','limit');"/> <span id="limit">5</span><br/>
Toutes les idées? (Rappelez-vous: Je suis nouveau à JS)
a mis à jour le poste – willium
@tap, mise à jour de réponse :) –