2012-03-30 11 views
5

ASP.NET sayesinde <formunda> formunun <formundaki> formundaki etiketlerinden uzaklaşmayı öğreniyorum.Chrome, ilk içimde <form> yiyor - neden?

Bu örnekte
<form id="Superform" action="javascript: return false;"> 
<form id="Subform1" action="javascript: return false;"> 
    form1 
</form> 
<form id="Subform2" action="javascript: return false;"> 
    form2 
</form> 
</form> 

, IE8 normalde iş gibi görünüyor, ancak Chrome (18.0.1025.142 beta m) Subform1 ortadan görünüyor: Ben çalışmıyor basit DOM sandığım kurdu. Nedenini bilen var mı? Bu bir Chrome/webkit hatası mı? Bunu test etmek için jsFiddle yaptım - eğer başka tarayıcılarınız varsa, bu sonuçları da merak ediyorum.

Örneğini http://jsfiddle.net/weQmk/9/'dan deneyin. IE8

alıyorum:

Forms my browser sees: 
Superform 
Subform1 
Subform2 

Ama Chrome'da

:

Forms my browser sees: 
Superform 
Subform2 
+0

sizin Doctype etiketi ne:

Bu

de bu keman gösterilmektedir? Bazı doktrinlerin iç içe geçmiş formları desteklemediğine inanıyorum. IE8 sadece kromdan daha affedici olabilir ... http: //stackoverflow.com/questions/379610/can-you-nest-html-forms –

+0

@Mike McMahon: Doctype, XHTML 1.0 Transitional. –

+1

http://anderwald.info/internet/nesting-form-tags-in-xhtml/ –

cevap

13

Formlar o şekilde iç içe olamaz. Kapanış </form> etiketinin karşısına ilk açık form kapatılır. http://jsfiddle.net/weQmk/11/

+0

Tamam (bu, tüm dünyanın bir form tarafından sarıldığı ASP.NET-topraklarında oldukça rahatsız edici olsa da) Chrome'un neden bir formun neden kaybolduğunu açıklamıyor. Neden Superform'u kapatmıyor ve sonra Subform yazmıyor? –

+0

Ayrıca bkz .: http://stackoverflow.com/questions/9433264/is-it-possible-to-wrap-html-form-elements-in-multiple-form-tags/9433497#9433497 –

+0

Bu günlerde çalışıyor gibi görünüyor (Chrome v42). – NicBright