JavaScript onclick redirect

前端 未结 5 1810
礼貌的吻别
礼貌的吻别 2021-02-04 18:40

I have this text field and button here

            


        
相关标签:
5条回答
  • 2021-02-04 19:18

    Doing this fixed my issue

    <script type="text/javascript">
        function SubmitFrm(){
            var Searchtxt = document.getElementById("txtSearch").value;
            window.location = "http://www.mysite.com/search/?Query=" + Searchtxt;
        }
    </script>
    

    I changed .value(); to .value; taking out the ()

    I did not change anything in my text field or submit button

    <input name="txtSearch" type="text" id="txtSearch" class="field" />            
    <input type="submit" name="btnSearch" value="" id="btnSearch" class="btn" onclick="javascript:SubmitFrm()" />
    

    Works like a charm.

    0 讨论(0)
  • 2021-02-04 19:20

    Change the onclick from

    onclick="javascript:SubmitFrm()"
    

    to

    onclick="SubmitFrm()"
    
    0 讨论(0)
  • 2021-02-04 19:22

    There are several issues in your code :

    • You are handling the click event of a submit button, whose default behavior is to post a request to the server and reload the page. You have to inhibit this behavior by returning false from your handler:

      onclick="SubmitFrm(); return false;"
      
    • value cannot be called because it is a property, not a method:

      var Searchtxt = document.getElementById("txtSearch").value;
      
    • The search query you are sending in the query string has to be encoded:

      window.location = "http://www.mysite.com/search/?Query="
          + encodeURIComponent(Searchtxt);
      
    0 讨论(0)
  • 2021-02-04 19:32

    Just do

    onclick="SubmitFrm"
    

    The javascript: prefix is only required for link URLs.

    0 讨论(0)
  • 2021-02-04 19:44

    Remove 'javascript:' from your code and it should work.

    Do you happen to use FireFox? I have learned from someone else that FireFox no longer accepts the 'javascript:' string. However, for the life of me, I cannot find the original source (though I believe it was somewhere in FF update notes).

    0 讨论(0)
提交回复
热议问题