Html 在一页中有多个按钮

Html 在一页中有多个按钮,html,ajax,Html,Ajax,我有很多提交按钮,每一行一个。每当我点击这个按钮,就会触发一个Ajax调用。现在我将每个按钮包装在一个表单标签中。这是一个好方法吗?如果没有,有什么更好的方法来实现这一点 此外,我最终会用一个图像替换按钮 请告知如何处理这种情况 为什么不创建一个大表单,然后将按钮与其(或其他)ID区分开来?您应该使用 <input type="button" onclick="AjaxFunction()"> 其中,AjaxFunction()是发出ajax请求的函数。Ajax请求不需要表单

我有很多提交按钮,每一行一个。每当我点击这个按钮,就会触发一个Ajax调用。现在我将每个按钮包装在一个表单标签中。这是一个好方法吗?如果没有,有什么更好的方法来实现这一点
此外,我最终会用一个图像替换按钮

请告知如何处理这种情况


为什么不创建一个大表单,然后将按钮与其(或其他)ID区分开来?

您应该使用

<input type="button" onclick="AjaxFunction()"> 

其中,AjaxFunction()是发出ajax请求的函数。Ajax请求不需要表单标记和提交按钮

顺便说一句,你可以用图像代替按钮。像这样的

<img src="url" alt=""  onclick="AjaxFunction()" />


您应该创建一个表单,并将所有提交按钮放入其中。按钮应具有不同的名称。

您可以将一个函数以不引人注意的方式绑定到一组元素,如下所示:

<script>
var anchors = ​document.getElementsByTagName('a');
for(var i = 0; i < anchors.length; i++) {
    anchors[i].onclick = function() {
        alert(this.id);
        // do ajax call
        return false; 
    }
}​​​
</script>

​<a id="test" href="#">Test</a>
<a id="tes2t" href="#">Test2</a>​

变量锚=​document.getElementsByTagName('a');
对于(var i=0;i
现在我将每个按钮包装在一个表单标签中。这是一个好方法吗

是的,这很好

唯一的问题是HTML有点笨重,但gzip压缩在很大程度上消除了这个问题(因为会有很多可高度压缩的重复标记)

对其有利的是,该方法实现起来非常简单,很难出错,并且不依赖于用户打开JavaScript

然后,您就可以通过onsubmit事件增强表单,使用JavaScript使用Ajax发送数据,并取消表单的正常提交

此外,我最终会用一个图像替换按钮


我通常会尽量避免这种情况。一个按钮是一个明确的指示器,它是一个可以点击的东西,它将做一些事情。如果您真的愿意,您可以用提交输入代替图像输入。

当您单击按钮时,您会发布哪些信息?AJAX发布代码是什么样子的?使用AJAX,您通常甚至不需要表单标记或提交按钮。您可以使用input type=button并将函数分配给onclick事件。当我需要序列化ajax文章中的所有表单元素时,我使用表单标记。@Fosco:您的想法看起来简单明了。谢谢,我会做的。@Fosco-只有在你做错的情况下。谢谢你的意见。现在就去试试:不,你不应该。你应该建立在工作的基础上,并遵循低调JS的原则。因此,这意味着一个提交按钮,或者,如果你真的想要一个图形,一个图像输入(两者都是问题最初建议的形式)。@David:我使用的是Rails,我不会直接在onclick函数上写东西,如Amber所示。我将使用框架提供的特定标记。感谢您的洞察力。我继续深入研究突兀和不突兀的用法。学到了很多!!我将提前创建函数并重用它:
var submitWithAjax=function(){alert(this.id);return false;};对于(…){anchors[i].onclick=submitWithAjax;}