2012-12-08 28 views
8

私は、コードのこの作品持っています:(profileBtnが表示されていますが)、私は「profileForm」の上にレンダリングするときフォームが表示されないが、その内容は

<div> 
    <form name='profileForm' id='profileForm' action='' method='get'> 
     <input type='submit' name='ProfileBtn' id='ProfileBtn' class='buttonC' value='My Profile' /> 
    </form> 
<br /> 
    <form name='logoutForm' id='logoutForm' action='' method='get'> 
     <input type='submit' name='LogOutBtn' id='LogOutBtn' class='buttonC' value='Logout' /> 
    </form> 
</div> 

は表示されません。 セコニングされたフォームには何の問題もありません。どちらも似ているので奇妙です。

おそらく簡単な質問ですが、何が問題なのかわかりません。

+0

「プロファイルフォームは表示されませんが、ボタンはどういう意味ですか?フォーム要素はdivのような単なるコンテナであり、CSSが添付されていない場合はページに表示されません。見えるようにするには、フォーム要素にCSSで枠線や背景を付けてください – Matanya

+0

投稿されたhtmlに明らかな問題がないので、この問題を実証する必要があります。 –

+0

うーん、それは奇妙です[リンク](http://jsfiddle.net/33G5N/)、ここでうまくいきますが、私のウェブサイトを実行し、開発者のコ​​ンソールをチェックすると、profileBtnはどんな形でも囲まれていません @Matanyaは、開発者コンソール –

答えて

6

どういうわけか、フォームに奇妙な問題がありました。ボタンが表示されませんでした。なぜなら、私がウェブサイトを実行したときに 'profileForm'が何とか消えてしまったからです(コンソールには表示されませんでした)。 私は何とかこれを解決した 'profileForm'の前に3番目のFormを追加しました。

+0

これは私にも起こりました。修正 "が働いた。私は大いにピラミッドとmakoテンプレートをCSS/javascriptに加えて使用していました。ああ。おそらくブラウザのバグでしょうか? – NuclearPeon

+0

奇妙なことに、このソリューションは私のためにも機能しました。 –

+0

本当に変です。それも私の解決策でした。魅力のように働いた...理由を知らない。 – foxtangocharlie

1

次のフォームを開く前に、閉じていないフォーム要素がないことを確認します。

ブラウザを使用すると、後続のフォームのオープンとフォームのクローズペアを表示せずにソースが生成されます。

14

これはちょうどChromeを使用して私に起こった - それはのフォーム内にというフォームがあったからです。 Chromeはちょうど<フォーム>の開け閉めタグを取り除いたようです。私のフォームは別のフォームの中にあったからです。 1つのフォームを他のフォームの外側に移動したとき、<form>タグは両方ともHTMLでレンダリングされました。
Crackermannも彼の答えでこれを得ていました。

あなたのフルHTMLを見ることなく直接解決するのは難しいですが、これがあなたの問題だと思います。あなたのフォームが別のフォームの中にないことを確認する必要があります。本当に簡単な例は、これを説明するために:あなたはChromeでこのコードを実行する場合

別の形内のフォーム、通知をし、<フォームID = "Form2のを" 検査>レンダリングされていません。

<html> 
 
<head></head> 
 
<body> 
 
\t <form id="form1"> 
 
\t \t <div>form within a form</div> 
 
\t \t <form id="form2"> 
 
\t \t \t <input type="text" placeholder="name" /><br/> 
 
\t \t \t <input type="text" placeholder="title" /> 
 
\t \t </form> 
 
\t </form> 
 
</body> 
 
</html>

フォーム1の外でフォーム2を移動する場合は、Chromeでコードを実行し、<フォームID = "form2">レンダリング

<html> 
 
<head></head> 
 
<body> 
 
\t <form id="form1"> 
 
\t \t <div>form2 moved outside of form1</div> 
 
\t </form> 
 
\t 
 
\t <form id="form2"> 
 
\t \t <input type="text" placeholder="name" /><br/> 
 
\t \t <input type="text" placeholder="title" /> 
 
\t </form> 
 
</body> 
 
</html>

+0

完璧なソリューション! – Chip

+0

これはいつも問題だった。正しい答え。 –

2

これらの行の前に、あなたのコード内で閉じられていないが

Find and close that form 

OR

は自分のコードの前</form>を入れて、あります。

関連する問題