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)をサーバーに送信します。どのように私はそれを解決するのですか?
?! '
、答えて
テーブル全体を囲むようにフォームをラップします。
フォームを表要素内に配置することはできませんが、表のセル外に配置することはできません。ブラウザがエラー回復を実行しようとしている場合、結果が表示されます。通常、a validatorを使用することをお勧めします(ただし、JSを使用して生成する場合は生成するマークアップで実行する必要があります)。
(また、use css for layout)太字の要素の代わりにlabel elementsを使用してください。
出典
2012-04-22 00:06:06 Quentin
ありがとうございます!それは私には新鮮だった:) –
関連する問題