Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在单击时发送帖子数据的HTML锚_Jquery_Html - Fatal编程技术网

Jquery 在单击时发送帖子数据的HTML锚

Jquery 在单击时发送帖子数据的HTML锚,jquery,html,Jquery,Html,有没有可能使锚定标记的行为类似于.submit(具有某些帖子特征?)我之所以有锚定标记,是因为我不喜欢submit按钮的外观,并且想要一个CSS按钮 以下是我现在正在做的事情(但它不起作用) html文件 <div class="footer"><a href="#" id = "test_btn" class="button"><strong>Sign Up</strong></a></div> <div clas

有没有可能使锚定标记的行为类似于.submit(具有某些帖子特征?)我之所以有锚定标记,是因为我不喜欢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>

$(“#test_btn”).live(“单击”,函数(){
var post_data={'account_type':“Free”}
return$.post(“www.someplacehere.com/user\u-sign\u-up/1/”,post\u-data);
}); 
$(“#test2_btn”).live(“单击”,函数(){
var post_data={'account_type':“Premium”}
return$.post(“www.someplacehere.com/user\u-sign\u-up/1/”,post\u-data);
}); 
我得到了正确的响应,但它不会将我发送到POST数据页面,只是重定向回页面顶部(由于锚)。有没有办法让我直接找到正确的位置(html页面),并在html页面上预先填充帖子数据?正如您所注意到的,它不是一个简单的
.submit()
。 现在可能会使用一个隐藏字段,然后执行一个
.submit()
,但是想知道是否有更简单的方法来获取页面,因为帖子可以正确完成


谢谢

在链接的单击处理程序中,返回false以停止默认操作


我也只会使用函数,而不是live。

您的单击事件需要返回false或防止默认值

使用AJAX是异步的,因此您不会返回值,您必须在完整的回调中找到值


类似这样的事情可能更接近:

$(a.submitLink).click(function () {
  $.post({data: values});

  $.post({data2: values2});

  return false;
});

这里的关键是返回false可以防止链接的默认行为。如果您需要根据post的结果进行额外的处理,您可以在回调函数中进行处理。没有理由不能在绑定到锚点的函数中发出几个AJAX调用,但是需要确保链接也不能作为链接使用。

Everyonestop重新发明按钮。它们已经存在,也可以进行样式化

button[type=submit] {
    background-color: transparent;
    border: none;
    border-bottom: solid blue 1px;
    color: blue;
    font-weight: bold;
    padding: 0px;
    cursor: pointer;
}
在这里演示:



我还应该指出,世界上每个人都在寻找表单末尾的传统按钮,从可用性的角度来看,让它看起来完全不同可能不是最好的主意。

一个简单的想法,为什么不尝试使用

注册
而不是

这使您可以灵活地根据需要设置按钮的样式,并在其中包含文本。此外,你不必做所有的艰苦工作,创建自定义按钮和张贴回来


想一想

这不是重新设计按钮,而是使用AJAX通过表单提交数据。无论哪种方式,您都必须取消默认操作。@zzzz AJAX与此无关。与其通过链接重新实现按钮功能,不如将按钮样式设置为链接。如果您的自定义样式中断,那么底层功能仍然有效。我投票支持Bemace。重新发明轮子是没有意义的。这是一个你可以通过简单的html和css来完成的事情为什么要做所有的体操?不是世界上的每个人都会在表单末尾寻找传统的按钮,因为它不是一个传统的表单,它是两个按钮之间的选择,这就是一个页面的全部内容。这是一个很好的UI,它将决定下一个表单的哪一部分将被预先填写。然而,这确实起到了作用。所以谢谢你!很好,但是CSS不适用于IE。由于IE很烂,它仍然显示为一个按钮。