2011-11-01 56 views
0

我有一組代碼,它將display:none css類添加到我的頁面上的某個元素。雖然這是有效的,但我需要代碼在顯示輸入值時將樣式應用於元素。現在它在創建輸入後再應用樣式,並再次單擊該按鈕。我需要它在創建那個輸入字段時消失。如何在實際達到限制時執行代碼

任何想法?

<script> 
>   var counter = 1; 
>   var limit = 15; 
>   function addInput(divName){ 
> >    if (counter == 15) {  
>     var el = document.getElementById('destroy');  
>     el.style.display = "none"; 
> >    } 
> >    else { 
> >    var newdiv = document.createElement('div'); 
> >    newdiv.innerHTML = "<span id=''>Serial Number " + (counter + 1) + " : <input type='text' name='myInputs[]'/></span>"; 
> >    document.getElementById(divName).appendChild(newdiv); 
> >    counter++; 
> >    } 
> > 
> > } </script> 

回答

1

我猜你正在努力做到這一點:

var counter = 1; 
var limit = 15; 
function addInput(divName){ 
    if (counter < limit) {  
    var newdiv = document.createElement('div'); 
    newdiv.innerHTML = "<span id=''>Serial Number " + (counter + 1) + " : <input type='text' name='myInputs[]'/></span>"; 
    document.getElementById(divName).appendChild(newdiv); 
    counter++; 
    if(counter === limit){ 
     var el = document.getElementById('destroy');  
     el.style.display = "none"; 
    } 
    } 
} 
+0

這正是它。在Javascript中,我是一個小菜鳥。儘管我正在慢慢學習並感謝你,我現在看到它是如何工作的! :) –

+0

我不知道你可以嵌套如果這樣的陳述。謝謝。 –

0

一個簡單的重排應該做的伎倆:

function addInput(divName){ 
    var newdiv = document.createElement('div'); 
    newdiv.innerHTML = "<span id=''>Serial Number " + (counter + 1) + " : <input type='text' name='myInputs[]'/></span>"; 
    document.getElementById(divName).appendChild(newdiv); 
    counter++; 
    if (counter == 15) {  
     var el = document.getElementById('destroy');  
     el.style.display = "none"; 
    } 
} 
相關問題