是否有可能使锚标记的行为类似于.submit(具有某些帖子特征?)为什么我有一个锚标签,因为我不喜欢提交按钮外观并想要一个CSS按钮。
这就是我现在正在做的事情(而且它不起作用)
html文件
<div class="footer"><a href="#" id = "test_btn" class="button"><strong>Sign Up</strong></a></div>
<div class="footer"><a href="#" id = "test2_btn" class="button"><strong>Sign Up</strong></a></div>
.js文件
<script type="text/javascript">
$("#test_btn").live("click",function(){
var post_data = {'account_type':"Free"}
return $.post("www.someplacehere.com/user_sign_up/1/", post_data);
});
$("#test2_btn").live("click",function(){
var post_data = {'account_type':"Premium"}
return $.post("www.someplacehere.com/user_sign_up/1/", post_data);
});
</script>
我得到了正确的回复,但它没有将我发送到POST数据页面,只是重定向回到页面顶部(由于锚点)。任何想法如何让它指向正确的位置(html页面)与POST数据预先填写在该html页面上?正如您所注意到的,这不是一个简单的.submit()
。
现在可能会使用隐藏字段,然后执行.submit()
,但想知道是否有更简单的方法来获取页面,因为POST可以正常完成。
谢谢!
答案 0 :(得分:23)
每个人停止重新发明按钮。它们已经存在,它们也可以被设计。
button[type=submit] {
background-color: transparent;
border: none;
border-bottom: solid blue 1px;
color: blue;
font-weight: bold;
padding: 0px;
cursor: pointer;
}
在这里演示:http://jsfiddle.net/MZbLW/
我还应该指出,世界上的每个人都会在表格末尾寻找传统的按钮,从可用性的角度来看,使它看起来完全不同可能不是最好的主意。
答案 1 :(得分:3)
在链接的单击处理程序中,返回false以停止默认操作。
我也会使用click()函数,而不是实时。
答案 2 :(得分:2)
您的点击事件需要返回false或阻止默认。
使用AJAX是 Asynchronous ,所以你不会返回值,你必须在完整的回调中找到值。
答案 3 :(得分:1)
这样的事情可能更接近:
$(a.submitLink).click(function () {
$.post({data: values});
$.post({data2: values2});
return false;
});
这里的关键是返回false会阻止链接的默认行为。如果您需要根据帖子的结果进行额外的处理,您将在回调函数中执行此操作。没有理由你不能在绑定到锚点的函数内发出几个AJAX调用,但是你需要确保链接也不能用作链接。
答案 4 :(得分:0)
快速思考为什么不尝试使用
&lt; button type =“submit”class =“footer”&gt;注册&lt; / button&gt;
而不是
&lt; input type = submit&gt;
这使您可以灵活地按照自己想要的方式设置按钮样式,并在其中包含文本。此外,您不必完成创建自定义按钮并将其发回的所有艰苦工作。
只是想一想。