为什么我的表单在IE中提交,而在Chrome中没有?

mwngjboj  于 2023-02-14  发布在  Go
关注(0)|答案(8)|浏览(212)

我有一个表单与<input type="submit">。在Chrome提交不做任何事情。在开发者工具中的网络选项卡上,我什么也看不到。开发者工具中也没有错误。同时,如果我保存一个页面并打开保存的页面,然后按提交按钮后,我看到一些东西出现在网络选项卡中。这发生在Chrome和Firefox中。这在IE中的预期工作。
有没有人有后见之明,我应该看什么?
我不需要一个直接的答案,我只需要知道,我应该看哪里。如果有人发布了一个方向,这将帮助我解决我的问题,我会接受它作为一个正确的答案。
页面的结构如下所示:

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

8fsztsew1#

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

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

您需要确保表单元素中有submit按钮,并且form元素上有适当的action属性。
要获得更直接的答案,请提供您正在使用的代码。
您可能会发现以下几点用途:http://www.w3.org/TR/html401/interact/forms.html

j1dl9f46

j1dl9f462#

你使用的是HTML5吗?如果是,检查你的表单中是否有required属性。删除required属性。Internet Explorer不会接受这个属性,所以它可以工作,但Chrome可以。

pw9qyyiw

pw9qyyiw3#

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

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

Document onclick通常用于事件委托,但是对每个事件都禁止默认是错误的,你必须只对必需的元素这样做:

document.onclick = function(e) {
    if (e.target instanceof HTMLAnchorElement) e.preventDefault();
}
3z6pesqy

3z6pesqy4#

你好来自未来。
为了清楚起见,我只想补充(因为这在谷歌中是相当高的)-我们现在可以使用
<button type="submit">Upload Stuff</button>
要重置窗体
<button type="reset" value="Reset">Reset</button>
检出按钮types
我们还可以附加按钮来提交表单,如this
<button type="submit" form="myform" value="Submit">Submit</button>

ugmeyewa

ugmeyewa5#

检查你是否在页面上使用了任何类型的jquery/javascript验证,并尝试禁用它,看看会发生什么。你可以使用浏览器的开发者工具来查看是否加载了任何带有validate或validation的javascript文件。你也可以查找隐藏的表单元素(例如,样式设置为显示:无;或类似的东西),并确保在那些没有呈现的对象上没有隐藏的验证错误。

r3i60tvu

r3i60tvu6#

我在一个朋友的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上缺少引号只会使submit按钮不可用,表单也不会提交。
当然,这是一个糟糕的例子,因为我应该首先使用CSS;)但无论如何,检查你所有的单引号和双引号,看看他们是正确关闭。
此外,如果您有任何像center这样的标记,请将它们移出表单。

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

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

czq61nw1

czq61nw17#

不能将form元素作为另一个form元素的子元素(直接或间接)。
如果以下代码没有返回null,则需要删除多余的form元素:

document.querySelectorAll('form form');//Must return null to be valid.
col17t5w

col17t5w8#

检查您的表单是否在表外

相关问题