[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

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

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

<script>
  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
    }
  });
</script>

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




आप यह कोशिश कर सकते हैं:

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