代码之家  ›  专栏  ›  技术社区  ›  oshirowanen

jQuery默认值

  •  10
  • oshirowanen  · 技术社区  · 14 年前

    使用jQuery,如何从文本框中获取值,然后根据该值加载新页面?

    例如,假设textbox在page1.php上包含“hello”,那么如何更改锚定标记的默认行为,以加载以下内容

    页面2.php?txt=你好

    <script type="text/javascript">
        $(document).ready(function(){
        $("a.mylink").click(function(event){
            alert("link clicked");
            event.preventDefault();
        });
    });
    </script>
    
    3 回复  |  直到 14 年前
        1
  •  26
  •   Praveen Prasad    14 年前

        <input type="text" id="demoQuery" />
        <a id='demoLink' href='javascript:'>Iam a link</a>
    

    Javascript语言

    jQuery('#demoLink').bind('click',function(e){
          e.preventDefault();
          document.location.href="someUrl.php?text="+ jQuery('#demoQuery').val();     
    });
    
        2
  •  3
  •   John Strickler    14 年前

    在锚定标记上设置一个click事件,以便在单击时添加查询字符串。

    $('a').click(function() {
       var querystring = $('input').serialize();
       this.href += querystring;
    });
    

    serialize 方法。其中选择器是要将字段传递到下一页的每个输入或字段。祝你好运!

    不需要使用事件.preventDefault.

        3
  •  3
  •   djdd87    14 年前

    你可以用 blur

    $("#textBoxId").blur(function() {
        var text = $(this).val();
        var end = text.length == 0 ? "" : "?txt=" + text;
        $("a.mylink").attr("href", "Page2.php" + end);
    });
    

    只要改变锚的位置。那你就不需要操纵锚了 click 你自己。锚只会重定向到“Page.php?txt=你好”。这将确保链接始终是最新的,并且在用户右键单击并选择“在新窗口中打开”时可以工作。

    或者你可以用另一种方法来处理锚的点击:

    $("a.mylink").click(function(e) {
       var text = $("#textBoxId").val();
       document.location.href = $(this).attr("href") + "?txt=" + text;
       e.preventDefault();
    });
    

    但如果用户右键单击,则不会触发此事件。