2011-06-14 3 views
2

c'est une question stupide mais pour une raison quelconque je ne peux pas comprendre dehors ou trouver un exemple simple n'importe où. Tout ce que je veux, c'est un bouton qui, lorsqu'on clique dessus, crée une zone de texte avec le même nom +1.onclick créer la zone de texte

<input type="button" value="Show" onclick="blah" /> 
<!-- Button Gets Clicked --> 
<input type="text" name="added1" /> 
<!-- Button Gets Clicked --> 
<input type="text" name="added2" /> 
<!-- Button Gets Clicked --> 
<input type="text" name="added3" /> 

peut-être javascript !? des idées?

Répondre

6

javascript ligne n'est pas la meilleure façon d'aborder, mais ...

<input type="button" value="Show" onclick="var e = document.createElement('input'); e.type='text'; e.name = 'added'+this.rel; this.rel = parseFloat(this.rel)+1; this.parentNode.appendChild(e); return false;" /> 

Il vaut mieux séparer la présentation de votre script:

HTML:

<input type="button" value="Show" id="add_btn" /> 

Navigateur croisé Javascript:

var handler_func = function() { 
    var i = (typeof this.rel != 'undefined') && (this.rel - 0) == this.rel ? this.rel : 0; 
    var e = document.createElement('input'); 
    e.type='text'; 
    e.name = 'added'+i; 
    this.rel = i+1; 
    this.parentNode.appendChild(e); 
    return false;  
} 

var add_btn = document.getElementById('add_btn'); 
if(add_btn.attachEvent) 
     add_btn.attachEvent('onClick', handler_func); 
else if(add_btn.addEventListener) //Firefox & company 
     add_btn.addEventListener('click', handler_func, false); 

Fiddle: http://jsfiddle.net/rkYpD/1/

+0

Quelle est l'utilisation de 'this.rel'? – Midas

+1

Façon bon marché d'utiliser le stockage d'éléments à petite échelle jusqu'à Internet Explorer 7 est parti pour toujours. En plaçant le compteur dans la propriété 'rel' du bouton, une variable globale est évitée. –

+0

Devriez-vous utiliser une valeur par défaut si 'this.rel' n'est pas défini? 'this.rel || 0' – Chris

Questions connexes