21

我有一个表格<input type="submit"。在 chrome 中提交不做任何事情。在开发人员工具选项卡中的“网络”上,我什么也看不到。开发者工具也没有错误。同时,如果我确实保存了一个页面并打开了一个保存的页面,那么在我按下提交按钮后,我看到“网络”选项卡中出现了一些东西。这发生在 chrome 和 firefox 中。这在 IE 中按预期工作。

有没有人有后见之明,我应该看什么?

编辑:我不需要直接的答案,我只需要知道,我应该在哪里看。如果有人发布了一个方向并且这将帮助我解决我的问题,我会接受它作为一个正确的答案。

EDIT2:页面结构如下所示:

html
    head
    body
        div
        div
            form
            form
            form
            form
            form
                input
                input
                table
                table
                    tbody
                        tr..td..input type=submit

EDIT3:我们发现了实际的问题,这是一个页面中有一个链接,包含href="#"并单击该链接后提交停止工作,因为#被添加到 URL 的末尾并且由于action表单是空的,所以它选择了 URI来自当前 URI,它包含#在,所以浏览器没有提交,而是跳转到了当前页面。

4

8 回答 8

25

如果您没有使用任何 JavaScript 进行表单验证,那么您的表单的简单布局将如下所示:

<form action="formHandler.php" method="post">    
 <input name="fname" id="fname" type="text" value="example" />    
 <input type="submit" value="submit" />
</form>

您需要确保submit表单元素中有按钮,并且元素上存在适当的action属性form

要获得更直接的答案,请提供您正在使用的代码。

您可能会发现以下用途:http ://www.w3.org/TR/html401/interact/forms.html

于 2013-04-17T06:22:20.233 回答
18

你在使用 HTML5 吗?如果是这样,请检查<input type="hidden">您的表单中是否包含该属性required。删除该required属性。Internet Explorer 不会采用此属性,因此它可以工作,但 Chrome 会。

于 2013-04-17T06:14:02.027 回答
6

我今天遇到了这个问题,问题是我阻止了文档 onclick 中的事件默认操作:

document.onclick = function(e) {
    e.preventDefault();
}

文档 onclick 通常用于事件委托,但阻止每个事件的默认值是错误的,您必须仅对必需的元素执行此操作:

document.onclick = function(e) {
    if (e.target instanceof HTMLAnchorElement) e.preventDefault();
}
于 2015-09-30T13:14:08.713 回答
4

检查您是否在页面上使用任何类型的 jquery/javascript 验证,并尝试禁用它,看看会发生什么。您可以使用浏览器的开发人员工具查看是否正在加载任何带有验证或验证的 javascript 文件。您还可以查找隐藏的表单元素(即样式设置为 display:none; 或类似的东西),并确保那些未呈现的元素没有隐藏的验证错误。

于 2015-04-30T15:47:41.097 回答
4

来自未来的你好。

为了清楚起见,我只想添加(因为这在谷歌中非常高) - 我们现在可以使用

<button type="submit">Upload Stuff</button>

并重置表格

<button type="reset" value="Reset">Reset</button>

查看按钮类型

我们还可以附加按钮来提交这样的表单

<button type="submit" form="myform" value="Submit">Submit</button>

于 2018-03-26T07:28:30.750 回答
2

我在一个朋友的 HTML 代码上遇到了这个问题,在他的例子中,他缺少引号。

例如:

<form action="formHandler.php" name="yourForm" id="theForm" method="post">    
<input type="text" name="fname" id="fname" style="width:90;font-size:10>     
<input type="submit" value="submit"/>
</form>

在此示例中,输入文本 fname 上缺少引号只会使提交按钮无法使用,并且表单将不会提交。

当然,这是一个不好的例子,因为我应该首先使用 CSS ;) 但无论如何,请检查所有单引号和双引号以查看它们是否正确关闭。

此外,如果您有任何像中心这样的标签,请将它们移出表单。

<form action="formHandler.php" name="yourForm" id="theForm" method="post">  
<center> <-- bad

尽管看起来很奇怪,但它可能会产生影响。

于 2017-08-18T00:24:11.077 回答
0

您不能将一个form元素作为另一个form元素的子元素(直接或间接)。

如果以下内容未返回null,则您需要删除多余的form元素:

document.querySelectorAll('form form');//Must return null to be valid.
于 2021-11-16T10:46:25.563 回答
0

检查您的表格是否在表格之外

于 2022-02-09T11:26:49.907 回答