2012-04-22 2 views
0

私は仕事をしているWebアプリケーションに問題があります。フォームの入力フィールドはjQueryによって追加されます。私のフォームは、HTMLエディタで次のようになります。DOM-inspectorによるとFORMが空に見えます

<form id="profile" method="post" action="Profile/UpdateProfile"> 
     <tr><td><b>Namn:</b></td><td><parameter name="Name" class="transform">@ViewBag.Name</parameter></td></tr> 
     <tr><td><b>Address:</b></td><td><parameter name="Address" class="transform">@ViewBag.Address</parameter></td></tr> 
     <tr><td><b>Postaddress:</b></td><td><parameter name="ZIP" class="transform">@ViewBag.ZIP</parameter></td></tr> 
     <tr><td><b>Personnummer:</b></td><td><parameter name="Pnumber" class="transform">@ViewBag.Pnumber</parameter></td></tr> 
    </form> 

しかし、DOM-インスペクタに次のように表示されます:それは私が何も入力がないことを奇妙に見えるかもしれ

<form id="profile" method="post" action="Profile/UpdateProfile"></form> 
<tbody><tr><td><b>Namn:</b></td><td><parameter name="Name" class="transform">Anton Gildebrand</parameter></td></tr> 
     <tr><td><b>Address:</b></td><td><parameter name="Address" class="transform"></parameter></td></tr> 
     <tr><td><b>Postaddress:</b></td><td><parameter name="ZIP" class="transform">0</parameter></td></tr> 
     <tr><td><b>Personnummer:</b></td><td><parameter name="Pnumber" class="transform"></parameter></td></tr> 

</tbody> 

が、ときに、ユーザー編集ボタンを押し、「パラメータ」 - タグは、このjavascriptの使用textinputsに変身:あなたは「パラメータ」DOM-インスペクタの形で包まれていません - タグを見ることができるように

$('#' + id + ' .transform').each(function (index) { 
     var val = $(this).html(); 
     $(this).html(''); 
     var tag = $(this).parent().html(); 
     var newTag = tag.replace('<parameter', '<input type="text" value="' + val + '"'); 
     newTag = newTag.replace('</parameter', '</input'); 
     $(this).parent().html(newTag); 
    }); 

をし、何も投稿されていません(私はデバッグされますFiddler)をサーバーに送信します。どのように私はそれを解決するのですか?

+1

?! '、​​'は '

'の外にあります。無効なマークアップです! – gdoron

答えて

3

テーブル全体を囲むようにフォームをラップします。

フォームを表要素内に配置することはできませんが、表のセル外に配置することはできません。ブラウザがエラー回復を実行しようとしている場合、結果が表示されます。通常、a validatorを使用することをお勧めします(ただし、JSを使用して生成する場合は生成するマークアップで実行する必要があります)。

(また、use css for layout)太字の要素の代わりにlabel elementsを使用してください。

+0

ありがとうございます!それは私には新鮮だった:) –

関連する問題