0

jquery(1.8.0)を使用してhtmlを部分的にロードするというタスクはほぼ解決しました。

これは、サーバーから受け取るhtmlです。

<form id="save-form" action="/sales_item/edit/9/" method="post">
  <p>
     <label for="id_item_description">Item Description:</label>
     <input id="id_item_description" type="text" maxlength="40" value="test2y" name="item_description">
  </p>
  <input type="submit" value="save">
</form>

ただし、<tr>要素に次のjqueryを指定して上記をロードすると...

function row_edit() {
    // e.g. url = '/sales_item/edit/8' 
    var url = $(this).attr("href") + "/";

    //e.g. get whole row to be replaced with editing fields
    var row = $(this).closest('tr')

    row.load(
        url,        
        function () {
            $("#save-form").submit(url, row_save);
        }
    );
    return false;
}

、階層は完全に失われます。コンテンツの前にフォームタグがどのように閉じられるかを確認してください。

<tr>
   <form id="save-form" action="/sales_item/edit/9/" method="post"></form>      
   <p>
     <label for="id_item_description">Item Description:</label>
     <input id="id_item_description" type="text" maxlength="40" value="test2y" name="item_description">
   </p>
   <input type="submit" value="save">
</tr>

私が自分の負荷で何を間違っているのか考えていますか?

4

1 に答える 1

0

Aに要素<tr>を含めることはできません。<form>ほとんどのブラウザはある程度それを解決しようとしますが、それは信頼できず、結局のところ明らかに無効です。

<td>最初に作成する必要があります:

$("<td>").appendTo(row).load(...);
于 2012-08-22T21:33:40.450 に答える