当有人点击进入搜索框时,如何阻止电子邮件订阅框打开?

时间:2012-05-18 13:37:59

标签: css themes

我的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>

3 个答案:

答案 0 :(得分:1)

您的页面上的第一个</form>元素需要<form>标记(第506行)。这个问题是因为这两种形式被视为一种形式,而点击“输入”会导致它们都提交。

如果你将它们分开,每个都是不同的形式,然后点击“输入”将只提交用户当前所在的那个。

答案 1 :(得分:1)

这可能是由于搜索表单嵌套在电子邮件注册表单中。

表格不应嵌套在HTML中。

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

http://validator.w3.org/check?uri=http%3A%2F%2Fnoahsdad.com&charset=%28detect+automatically%29&doctype=Inline&group=0

答案 2 :(得分:0)

“Enter”键是任何HTML表单的默认提交键。在您的情况下会发生这种情况,因为您将两个字段放在同一HTML表单中。尝试将它们分开。我不相信,这是必要的使用javascript代码(虽然你可以这样做,而不是分开表格)来抓住输入键按下。优雅的解决方案是使用不同的形式,因为它们将对应不同的行为。