使用jQuery提交带有链接的表单

使用jQuery提交带有链接的表单,jquery,Jquery,我有一个小型搜索表单,可以执行两种类型的搜索: <form id="form-navbar-search" class="navbar-search pull-left" action="index.cfm?fuseaction=Search.output" method="post"> <div class="input-append"> <input type="text" name="header_search_criteria" title

我有一个小型搜索表单,可以执行两种类型的搜索:

<form id="form-navbar-search" class="navbar-search pull-left" action="index.cfm?fuseaction=Search.output" method="post">
   <div class="input-append">
      <input type="text" name="header_search_criteria" title="Criteria to search" placeholder="search" class="search-query span9" />
      <input type="submit" name="quick" value="Quick" title="Search on task ID or task name" class="btn btn-inverse" />
      <a href="index.cfm?fuseaction=Search.home" id="navbar-search-full" title="Start a full search" class="btn btn-inverse" />Full</a>
   </div>
</form>
同样,preventDefault()似乎没有拦截链接操作我需要做哪些调整才能做到这一点?

return false;
这对你有用

编辑


您可以使用anchors href=“#”并使用“data-”属性来存储URL。然后锚点将没有任何操作,您可以使用.attr(“数据-”)以相同的方式检索属性。。无论您决定如何称呼它。

我看到了一个不同的问题:在触发单击处理程序之前,您正在更改
#navbar search full
的href


在提交表单之前,尝试在
处理程序中移动
.attr('href','#navbar search full')
,或者干脆将其完全删除。

按钮是一个链接(
a
);没有任何内容正在提交表单,因此没有要拦截的表单提交。换句话说,
a
在我的jQuery启动表单提交之前启动。您可以使用锚href=“#”然后使用“data-”属性来存储URL。然后锚点将没有任何操作,您可以使用.attr(“数据-”)以相同的方式检索属性。。无论你决定怎么称呼它……我看到了一个不同的问题:在点击处理程序被触发之前,你正在更改
#navbar search full
的href。嗯……所以JS的最后一行将链接的href设置为
#navbar search full
,然后
#navbar search full
href被设置为表单的操作?是的,就是这样。看,实际上,我突然想到,如果我阻止链接的动作,我不必担心链接触发,所以我不必更改它的href。这很好,因为如果JavaScript不可用,它甚至可以工作!
return false;