जावास्क्रिप्ट के माध्यम से रीसेट (स्पष्ट) कैसे करें?


123

मैंने कोशिश की है, $("#client.frm").reset();लेकिन यह काम नहीं कर रहा है। तो jQuery के माध्यम से फॉर्म कैसे रीसेट करें?


के संभावित डुप्लिकेट stackoverflow.com/questions/680241/blank-out-a-form-with-jquery
एस वी

6
नोट: स्पष्ट और रीसेट दो अलग चीजें हैं। रीसेट ( .reset()) मूल मानों को वापस HTML में डाल देगा। इसके लिए नीचे Nick Craver का घोल देखें। "स्पष्ट" का अर्थ आम तौर पर मानों को खाली / अनियंत्रित / अचयनित पर वापस सेट करना है; महमूद समाधान देखें।
ल्यूक

जवाबों:


258

form.reset() एक DOM एलिमेंट विधि है (jQuery ऑब्जेक्ट पर एक नहीं), इसलिए आपको इसकी आवश्यकता है:

$("#client.frm")[0].reset();
//faster version:
$("#client")[0].reset();

या बिना jQuery के:

document.getElementById("client").reset();

4
मेरा मस्तिष्क बस विस्तारित हो गया, धन्यवाद: "एक jQuery ऑब्जेक्ट एक या एक से अधिक DOM तत्वों के चारों ओर एक सरणी जैसा आवरण है। वास्तविक DOM तत्वों (jQuery ऑब्जेक्ट के बजाय) के लिए एक संदर्भ प्राप्त करने के लिए, आपके पास दो विकल्प हैं। पहला (और सबसे तेज़) विधि सरणी संकेतन का उपयोग करना है: $ ("#foo") [0]; // document.getElementById ("foo") के बराबर। दूसरा तरीका .get () फ़ंक्शन: $ ("#foo) का उपयोग करना है। ") .get (0); // ऊपर से पहचाना, केवल धीमा।" learn.jquery.com/using-jquery-core/faq/…
एंड्रयू

मुझे अगली त्रुटि मिलती है: TypeError: document.getElementById (...)। रीसेट एक फ़ंक्शन नहीं है [अधिक जानें]। मैं फॉर्म के लिए FormValidate प्लगइन का उपयोग करता हूं। इसका रीसेटफ़ॉर्म भी फॉर्म रीसेट नहीं करता है = (कोई सुझाव?
यूजेन कोनकोव

यूजेन, यहां पर, इंडियाना जोन्स और द लास्ट क्रूसेड की तरह, आपको विश्वास की एक छलांग लेनी चाहिए। यदि आप document.getElementById ('myform') को कॉल करते हैं, तो रीसेट करें () यह वास्तव में फ़ॉर्म को साफ कर देगा, भले ही वह विधि मौजूद नहीं हो। ठेठ एम $ obfuscation।
न्यूक्लीक

43

आप बस कर सकते हैं:

$("#client.frm").trigger('reset')


1
एक Triggerनई दुनिया में मुझे लाता है
gonatee

17

शुद्ध जेएस समाधान इस प्रकार है:

function clearForm(myFormElement) {

  var elements = myFormElement.elements;

  myFormElement.reset();

  for(i=0; i<elements.length; i++) {

  field_type = elements[i].type.toLowerCase();

  switch(field_type) {

    case "text":
    case "password":
    case "textarea":
          case "hidden":

      elements[i].value = "";
      break;

    case "radio":
    case "checkbox":
        if (elements[i].checked) {
          elements[i].checked = false;
      }
      break;

    case "select-one":
    case "select-multi":
                elements[i].selectedIndex = -1;
      break;

    default:
      break;
  }
    }
}

1
यहाँ jQuery प्लगइन समाधान है जो लगभग बराबर होना चाहिए। stackoverflow.com/a/24496012/1766230 (मैंने आपकी selectedIndex = -1चाल का उपयोग किया ।)
ल्यूक

5
यह समाधान अब (2016 में) काम नहीं करता है। जब फॉर्म में टेक्स्ट, पासवर्ड और टेक्सटेरिया इनपुट के लिए डिफ़ॉल्ट मान होते हैं, तो आपको तत्वों [i] .defaultValue = "" तत्वों के बजाय [i] .value = "" का उपयोग करना चाहिए।
एंड्रयू एफ।

var field_type = elements[i].type.toLowerCase();
मार्तीनस जनुकाकॉस्कस

@ भारत: यह इस बात पर निर्भर करता है कि आप क्या चाहते हैं। यदि आप फॉर्म को defaultValueएस पर रीसेट करना चाहते हैं , तो आप reset()फॉर्म ऑब्जेक्ट पर कॉल कर सकते हैं । यहां कोड को रीसेट करने के बजाय फॉर्म को क्लियर करना है।
रक्षक एक


4

रीसेट (साफ़) फॉर्म सोचा JavascriptऔरjQuery :

उदाहरण जावास्क्रिप्ट:

document.getElementById("client").reset();

उदाहरण jQuery:

आप संदर्भ लिंक का उपयोग करने का प्रयास कर सकते हैंtrigger()

$('#client.frm').trigger("reset");

4

form.reset()यदि फार्म में कुछ इनपुट टैग की विशेषता है तो नोट, फ़ंक्शन काम नहीं करेगाname='reset'


2

इसे इस्तेमाल करे :

$('#resetBtn').on('click', function(e){
    e.preventDefault();
    $("#myform")[0].reset.click();
}

2

फॉर्म को इस प्रकार क्लियर करें

document.forms[0].reset();

आप समूह के भीतर के तत्वों को स्पष्ट कर सकते हैं। इस का उपयोग करके forms[0]




0

इस कोड को आज़माएं। आपके उत्तर के लिए एक पूर्ण समाधान।

    <!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $(":reset").css("background-color", "red");
});
</script>
</head>
<body>

<form action="">
  Name: <input type="text" name="user"><br>
  Password: <input type="password" name="password"><br>
  <button type="button">Useless Button</button>
  <input type="button" value="Another useless button"><br>
  <input type="reset" value="Reset">
  <input type="submit" value="Submit"><br>
</form>

</body>
</html>

-1

आप ऑनक्लिक फ़ंक्शन का उपयोग करके पूरे फ़ॉर्म को साफ़ कर सकते हैं। इसके लिए कोड है।

 <button type="reset" value="reset" type="reset" class="btnreset" onclick="window.location.reload()">Reset</button>

window.location.reload () फ़ंक्शन आपके पृष्ठ को रीफ़्रेश करेगा और सभी डेटा साफ़ हो जाएगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.