<html>
<head>
<script type="text/javascript">
$(document).ready(function(){
   $('a').click(function(){
      var str = $(this).attr("href");
      $('#pid').attr("value", str);
      $('#searchForm').submit();
   });
});
</script>
</head><body>
   <a href="abc">click me</a>
   <form method="get" action="">
      <input type="text" id="pid" name="pid" value=""/>
      <input type="submit" value="search"/>
   </form>
</body>
</html>这段代码的作用是:将值存放在<a>的href属性里,然后在单击链接的时候,动态改变表单值再提交。但是在提交表单的同时,页面也会跳转到href属性里面指定的页面。我又在$('a').click的结尾加上了return false,这样表单的值是改变了,但表单却没办法提交!路过的jquery达人请指导一下,谢谢!

解决方案 »

  1.   

    将值放到href里本身就是个错误,
    因为本身你就不想利用href做链接,
    可以将值放到id 或者name里去,
    这样不就柳暗花明了.
      

  2.   

    就算不是放到href里面,放到其他属性里面也不行呀!
    我有试过放到title里面,照样还是会跳转到href属性里面指定的值,而且跳转是发生在表单提交之前的!因为我的表单是用get提交的,如果提交成功,那在URL里面就可以看到参数值了。
      

  3.   

    你要完成什么功能呢?submit()不会调用form元素的submit方法!
      

  4.   

    你试试用event.preventDefault(),然后再用document.getElementById("your-form-id").submit()这样的混合方法。
      

  5.   

    http://shanghai.anjuke.com/v2/sale/
    看看这里的搜索框,我想实现类似的功能。
      

  6.   

    如果说表单提交到新页面的话,实现是完全可以的.
    呵呵.
    href链接为空或者javascript:////
    然后再用$("form")[0].submit();提交表单.