[Javascript] पेज लोड के बीच चर स्थिर रखें


Answers

$.holdReady() , history का उपयोग करने का प्रयास करें

<script src="jquery.js" type="text/javascript"></script>
</head>
<body>
<form method="POST">
    <input type="text" name="name" value="" />
    <input type="submit" value="Search" />
    <input type="hidden" />
    <input type="hidden" />
</form>
<script type="text/javascript">
function show() {
  return $("form input[type=hidden]")
          .replaceWith(function(i, el) {
            return "<input type=text>"
          });
}

$.holdReady(true);
    if (history.state !== null && history.state.clicked === true) {
       // show hidden fields
       // if `history.state.clicked === true` ,
       // replace `input type=hidden` with `input type=text`
       show();
       console.log(history);

    } else {
        // don't show hidden fields
        console.log(history);
    }
$.holdReady(false);

  $(document).ready(function() {

    $("input[type=submit][value=Search]")
    .on("click", function(e) {
        e.preventDefault();
        if (history.state === null) {
          // do stuff
          history.pushState({"clicked":true});
          // replace `input type=hidden` with `input type=text`
          show();
          console.log(history);
        } else {
          // do other stuff
        };
    });

  });
</script>
</body>
Question

मैं अपने फॉर्म के सबमिट बटन प्रेस को कैप्चर करने की कोशिश कर रहा हूं और यदि फॉर्म सबमिट किया गया है, तो पृष्ठ रीफ्रेश होता है और मैं कुछ छिपे हुए फ़ील्ड दिखाता हूं। मैं यह कैप्चर करना चाहता हूं कि फॉर्म पहले सबमिट किया गया है या नहीं और यदि यह रीलोड पर सबमिट किया गया है, तो मैं छिपे हुए फ़ील्ड को अनदेखा करना चाहता हूं। मैं इसे प्राप्त करने के लिए एक वैश्विक चर का उपयोग करने की कोशिश कर रहा था, हालांकि मैं इसे ठीक से काम करने में असमर्थ था।

मैंने जो कोशिश की है वह यहां है:

  var clicked = false;

  $(document).ready(function() {

    $("input[type='submit'][value='Search']").attr("onclick", "form.act.value='detailSearch'; clicked = true;  return true;");

    if (clicked == true) {
      // show hidden fields
    } else {
      // don't show hidden fields
    }
  });

इस कोड के साथ क्या गलत है पर कोई सुझाव?




आप इसे आजमा सकते हैं:

 $("input[type='submit'][value='Search']").click(function(){
     form.act.value='detailSearch'; 
     clicked = true;  
     return true;
});



Links