使用jquery,如何在单击链接的时候动态改变表单的值并提交表单?

TeaBall 2009-05-18 04:00:52
<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达人请指导一下,谢谢!
...全文
1080 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
皓月明 2009-05-19
  • 打赏
  • 举报
回复
不明白楼主的意思
程序猿之殇 2009-05-18
  • 打赏
  • 举报
回复
如果说表单提交到新页面的话,实现是完全可以的.
呵呵.
href链接为空或者javascript:////
然后再用$("form")[0].submit();提交表单.
TeaBall 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jakey9826 的回复:]
你要完成什么功能呢?

submit()不会调用form元素的submit方法!
[/Quote]
http://shanghai.anjuke.com/v2/sale/
看看这里的搜索框,我想实现类似的功能。
TeaBall 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 TR@SOE 的回复:]
另外,你这种带值过去的方法很匪夷……很匪夷……

有其它N种方法可以这么做,你却貌似用了一个最怪的一种。你还是说你想干嘛吧。
[/Quote]
哈哈~~真是不好意思,这纯粹就是技术上练练手。的确是有其他N种方法可以实现,但我就是想知道我这种想法能不能实现。
TR@SOE 2009-05-18
  • 打赏
  • 举报
回复
另外,你这种带值过去的方法很匪夷……很匪夷……

有其它N种方法可以这么做,你却貌似用了一个最怪的一种。你还是说你想干嘛吧。
TR@SOE 2009-05-18
  • 打赏
  • 举报
回复
你试试用event.preventDefault(),然后再用

document.getElementById("your-form-id").submit()

这样的混合方法。

程序猿之殇 2009-05-18
  • 打赏
  • 举报
回复
你要完成什么功能呢?

submit()不会调用form元素的submit方法!
TeaBall 2009-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jakey9826 的回复:]
将值放到href里本身就是个错误,
因为本身你就不想利用href做链接,
可以将值放到id 或者name里去,
这样不就柳暗花明了.
[/Quote]
就算不是放到href里面,放到其他属性里面也不行呀!
我有试过放到title里面,照样还是会跳转到href属性里面指定的值,而且跳转是发生在表单提交之前的!因为我的表单是用get提交的,如果提交成功,那在URL里面就可以看到参数值了。
程序猿之殇 2009-05-18
  • 打赏
  • 举报
回复
将值放到href里本身就是个错误,
因为本身你就不想利用href做链接,
可以将值放到id 或者name里去,
这样不就柳暗花明了.

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧