2016-04-15 4 views
0

Ich habe ein Formular, und ich möchte das Eingabefeld jedes Mal löschen, wenn ich die Übergabeschaltfläche (Plus) eingebe.So löschen Sie das Eingabefeld, nachdem Sie auf "Senden" geklickt haben

Ich habe versucht, dies zu verwenden, es funktioniert nicht. Ich kann es an der falschen Stelle implementieren.

document.getElementById('add-item').value=''; 

Mein Javascript-Code ist unten.

window.addEventListener('load', function(){ 

    // Add event listeners 
    document.getElementById('add-item').addEventListener('click', addItem, false); 
    document.querySelector('.todo-list').addEventListener('click', toggleCompleted, false); 
    document.querySelector('.todo-list').addEventListener('click', removeItem, false); 

    function toggleCompleted(event) { 
     console.log('=' + event.target.className); 
     if(event.target.className.indexOf('todo-item') < 0) { 
      return; 
     } 
     console.log(event.target.className.indexOf('completed')); 
     if(event.target.className.indexOf('completed') > -1) { 
      console.log(' ' + event.target.className); 
      event.target.className = event.target.className.replace(' completed', ''); 
      document.getElementById('add-item').value=''; 
     } else { 
      console.log('-' + event.target.className); 
      event.target.className += ' completed';   

     } 
    } 

    function addItem() { 
     var list = document.querySelector('ul.todo-list'); 
     var newItem = document.getElementById('new-item-text').value; 
     var newListItem = document.createElement('li'); 
     newListItem.className = 'todo-item'; 
     newListItem.innerHTML = newItem + '<span class="remove"></span>'; 
     list.insertBefore(newListItem, document.querySelector('.todo-new')); 
    } 

    function removeItem(event) { 
     if(event.target.className.indexOf('remove') < 0) { 
      return; 
     } 
     var el = event.target.parentNode; 
     el.parentNode.removeChild(el); 
    } 

}); 
+0

Möchten Sie das Element nur mit 'add-item' id löschen? –

+0

@ JF-Mechs ja, ich möchte das Eingabefeld entfernen, wo Sie das Element hinzufügen können. – Nick

+0

Fügen Sie Autocomplete = "off" zu Ihrem Formular-Tag möglicherweise auch nützlich sein –

Antwort

0

Dies ist, was Sie brauchen:

document.getElementById('new-item-text').value = ""; 

Ihren Bedarf in Bezug auf, müssen Sie am Ende Ihres addItem setzen()

Sie diesen einfachen Code beziehen kann:

<html> 
    <body> 
     <input type="text" id="test"> 
     <button onclick="func()">remove</button> 
     <br/> 
     Value = <span id="val"></span> 
     <script> 
      function func(){ 
       alert("clicked"); 
       document.getElementById('val').innerHTML = document.getElementById('test').value; 
       document.getElementById('test').value = ''; 
      } 
     </script> 
    </body> 
</html> 
0

Verwenden Sie die Formular-Reset-Methode, um Eingaben auf einmal zu löschen.

document.getElementById("myForm").reset(); 
0

Sie können Ihren Textbox Wert = '' in senden Schaltfläche festlegen. und Sie können eine ClearFunction erstellen, die Sie jederzeit aufrufen können.

function cleartextbox() { 
    $('#name').val("").focus(); 
    $('#selectgender').val(""); 
    $('#telephone').val(""); 
} 
Verwandte Themen