我的website上有两个表单,一个电子邮件注册框和一个搜索框(都在侧栏上。)我有一个问题,如果有人试图在搜索框上按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>
答案 0 :(得分:1)
您的页面上的第一个</form>
元素需要<form>
标记(第506行)。这个问题是因为这两种形式被视为一种形式,而点击“输入”会导致它们都提交。
如果你将它们分开,每个都是不同的形式,然后点击“输入”将只提交用户当前所在的那个。
答案 1 :(得分:1)
这可能是由于搜索表单嵌套在电子邮件注册表单中。
表格不应嵌套在HTML中。
您可以使用W3验证器验证此问题:
答案 2 :(得分:0)
“Enter”键是任何HTML表单的默认提交键。在您的情况下会发生这种情况,因为您将两个字段放在同一HTML表单中。尝试将它们分开。我不相信,这是必要的使用javascript代码(虽然你可以这样做,而不是分开表格)来抓住输入键按下。优雅的解决方案是使用不同的形式,因为它们将对应不同的行为。