2016-02-18 9 views
5

मैंने this, और this सहित कई पोस्ट पढ़ी हैं, लेकिन मुझे सबमिट करने के बाद इनपुट फ़ील्ड को साफ़ करने के लिए प्रतीत नहीं होता है। ऐसा करने का सबसे बुनियादी/प्राथमिक तरीका क्या है?इनपुट फ़ील्ड को रीसेट कैसे करें? jQuery

$(document).ready(function(){ 
    $('form[name=checkListForm]').on('submit', function() { 
      // prevent the form from submitting 
      event.preventDefault(); 
      var toAdd = $(this).find('input[name=checkListItem]').val(); 
      $('.list').append("<div class='item'>" + toAdd + "</div>") 
      $('input[name=checkListItem').reset(); 
     }); 
}); 

मेरे HTML है::

<!DOCTYPE html> 
<html > 
    <head> 
    <meta charset="UTF-8"> 
    <link rel="stylesheet" href="stylesheet.css">  
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
    <script type="text/javascript" src="script.js"></script> 
    </head> 
    <body> 
    <h2>To Do</h2> 
    <form name="checkListForm"> 
     <input type="text" name="checkListItem" /> 
     <button type="submit" id="button">Add!</button> 
    </form> 
    <br/> 
    <div class="list"></div> 
    </body> 
</html> 
+0

कोड की सिंगल लाइन सभी क्षेत्रों '$ (formselector) को संभालने के लिए [0] .reset();' –

उत्तर

11

के बजाय रीसेट किया जा रहा है, बस कोड के इस बिट का उपयोग इनपुट क्षेत्र के लिए एक खाली मान सेट:

$('input[name=checkListItem').val(''); 

वर्तमान में मैं इस राशि

किसी विशेष रूप में सभी इनपुट रीसेट करने के लिए आप निम्न कोड का उपयोग भी कर सकते हैं (का उपयोग करचयनकर्ता):

$('form :input').val(''); 
+0

धन्यवाद, कि काम किया। एक साइड सवाल के रूप में, क्या आप जानते हैं कि चयनकर्ता को इनपुट क्यों होना चाहिए [name = checkListItem' और 'form [name = checkListForm' नहीं? – AlanH

+0

@AlanH: क्योंकि आप इनपुट के मान को खाली होने के लिए सेट करना चाहते हैं, फॉर्म नहीं। – Przemek

+0

@AlanH: ऐसा इसलिए है क्योंकि 'इनपुट' चयनकर्ता मूल रूप से एक फॉर्म नियंत्रण का चयन करता है और इसमें एक मान सेट किया जा सकता है, जबकि' '$ ('form')' मूल रूप से इसका मतलब है कि आप एक HTML तत्व का चयन कर रहे हैं फॉर्म नियंत्रण, चूंकि 'इनपुट ('फॉर्म') के पास 'इनपुट' चयनकर्ता के विपरीत कोई मान विशेषता नहीं है, तो मेरा नवीनतम संपादन भी उत्तर में देखें। – stark

0

यह काम करना चाहिए, (मैंने इसे स्वयं परीक्षण किया है)।

$(document).ready(function(){ 
    $('form[name=checkListForm]').on('submit', function() { 
      //other code 
      $('input[name=checkListItem]').val("") 
     }); 
}); 
0

यह मेरे लिए काम करता है; कुछ संशोधन करने के लिए। मैं function(e) और e.preventDefault() का उपयोग करें और के बजाय $('input[name=checkListItem').val(''); इस्तेमाल किया रीसेट() की

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script> 

    $(document).ready(function(){ 
     $('form[name=checkListForm]').on('submit', function(e) { 
       // prevent the form from submitting 
       e.preventDefault(); 
       var toAdd = $(this).find('input[name=checkListItem]').val(); 
       $('.list').append("<div class='item'>" + toAdd + "</div>") 


       $('input[name=checkListItem').val(''); 
      }); 
    }); 
</script> 

<h2>To Do</h2> 
<form name="checkListForm"> 
    <input type="text" name="checkListItem" /> 
    <button type="submit" id="button">Add!</button> 
</form> 
<br/> 
<div class="list"></div> 
0

हम जमा करने के बाद लिख सकते हैं।

document.getElementById("myform").reset(); 
संबंधित मुद्दे