0

私のウェブサイトには、電子メールのサインアップ ボックスと検索ボックス (どちらもサイド バーにあります) の2 つのフォームがあります。常にメールサインアップフォームを開きます。つまり、サイト検索フォームが開かなくなります。

これを修正する方法がわかりません。何かアイデアはありますか?

フォームを表示するためにテキストウィジェットで使用しているコードは次のとおりです。

<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>
4

3 に答える 3

1

</form>ページの最初の要素のタグが必要です<form>(506 行目)。この問題は、2 つのフォームが 1 つとして表示され、「Enter」を押すと両方が送信されるために発生します。

それらを分割すると、それぞれが異なるフォームになり、「Enter」を押すと、ユーザーが現在使用しているフォームのみが送信されます。

于 2012-05-18T13:42:09.797 に答える
1

これはおそらく、検索フォームがメール サインアップ フォームにネストされているためです。

フォームを HTML にネストすることはできません。

W3 Validator を使用して、この問題を確認できます。

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

于 2012-05-18T13:46:28.557 に答える
0

「Enter」キーは、HTML フォームのデフォルトの送信キーです。あなたの場合、2 つのフィールドを同じ HTML フォームに配置したため、これが発生します。それらを分離してみてください。エンターキーの押下をキャッチするためにJavaScriptコードを使用する必要があるとは思いません(ただし、フォームを分離することはできません)。洗練された解決策は、さまざまなアクションに対応するさまざまなフォームを使用することです。

于 2012-05-18T13:42:21.197 に答える