Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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
Css 当有人点击搜索框上的enter键时,如何防止电子邮件订阅框打开?_Css_Themes - Fatal编程技术网

Css 当有人点击搜索框上的enter键时,如何防止电子邮件订阅框打开?

Css 当有人点击搜索框上的enter键时,如何防止电子邮件订阅框打开?,css,themes,Css,Themes,我有两个表单,一个是电子邮件注册框,一个是搜索框(都在侧栏上)。我有一个问题,如果有人试图按搜索框上的enter键来搜索网站,它总是会打开电子邮件注册表单。换句话说,网站搜索表单将不会打开 我想不出怎么解决这个问题,有什么想法吗 下面是我在文本小部件中用来显示表单的代码 <div class="signupForm"><form action="http://feedburner.google.com/fb/a/mailverify" method="post" target=

我有两个表单,一个是电子邮件注册框,一个是搜索框(都在侧栏上)。我有一个问题,如果有人试图按搜索框上的enter键来搜索网站,它总是会打开电子邮件注册表单。换句话说,网站搜索表单将不会打开

我想不出怎么解决这个问题,有什么想法吗

下面是我在文本小部件中用来显示表单的代码

<div class="signupForm"><form action="http://feedburner.google.com/fb/a/mailverify" method="post" target="popupwindow" onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=noahsdad', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true">
   <p>
       <input type="text" name="email" onblur="if (this.value == '') {this.value = 'Enter your email address';}" onfocus="if (this.value == 'Enter your email address') {this.value = '';}" value="Enter your email address"/>
   </p>
   <input type="hidden" value="noahsdad" name="uri"/><input type="hidden" name="loc" value="en_US"/>
   <input type="submit" value="Subscribe" /></div>


页面上第一个
元素(第506行)需要一个
标签。问题的产生是因为这两个表单被视为一个表单,而点击“enter”会导致它们都提交


如果将它们拆分,每个表单都将是不同的表单,然后点击“enter”将只提交用户当前使用的表单。

“enter”键是任何HTML表单的默认提交键。在您的例子中会发生这种情况,因为您将这两个字段放在同一个HTML表单中。试着把它们分开。我不认为有必要使用javascript代码(尽管您可以这样做,并且不分离表单)来捕捉回车键。优雅的解决方案是使用不同的表单,因为它们将对应不同的操作。

这可能是因为搜索表单嵌套在电子邮件注册表单中

表单不应该嵌套在HTML中

您可以使用W3验证程序验证此问题:


我有点困惑。我没有把相同的字段放在相同的表单中。它们是两个独立的小部件。我遗漏了什么吗?当你说使用不同的形式时,你是什么意思?我该怎么做呢?谢谢你的帮助。我不知道这是怎么发生的。它们都是小部件。如何更正此问题?我添加了代码,看起来我有一个/form标记。我遗漏了什么吗?我查看了你网页的代码,ctl+f显示了3个
,只有两个
。对于正确的HTML,您需要为每个开始标记添加一个结束标记。谢谢您这么做。我粘贴了上面的代码,是否需要向该代码添加/form标记?或者别的地方?谢谢。我理解结束标记是什么,但我的问题是我不确定我在哪里丢失了它/在哪里添加了它。请记住正确关闭所有HTML标记,否则浏览器对页面的解释将无法预测。如果在代码中使用插件或第三方工具,请始终在www.validator.w3.org/check上检查代码错误