1

これは私のHTML出力コードです:

<tr class="uedit103" style="display: none;"><form  id="editform103" name="editform103">
    <td class="base" id="uedit103"><input type="text" class="editua" name="lname" id="lname" value="inte"></td>
    <td class="base" id="uedit103"><input type="text" value="info" class="editua" name="fname" id="fname" ></td>
    <td class="base" id="uedit103"><input type="text" value="email@email.com" class="edituaxl" name="emailadres" id="emailadres" ></td>
    <td class="yellow       
    "><select name="ma_accesslevel"><option value="0" >Basic</option><option value="1"  SELECTED >Intermediate</option><option value="2" >Superuser</option></select></td>
    <td class="yellow

    "><select name="m_accesslevel"><option value="0" >Basic</option><option value="1"  SELECTED >Intermediate</option><option value="2" >Superuser</option></select></td>
    <td class="yellow
    "><select name="hcc_accesslevel"><option value="0" >Basic</option><option value="1"  SELECTED >Intermediate</option><option value="2" >Superuser</option></select></td>
    <td class="base" id="uedit103"><input type="hidden" class="editua" name="uid" id="uid" value="103"></td>
    <td class="base" id="uedit103"><input type="button" id="editsubmit103" class="editbutton" Value="Save"><input type="button" id="editcancel103" class="editbutton" Value="Cancel"></td>
    </form></tr> 

jQuery の部分は次のとおりです (デバッグ用に追加されたアラート)。

$('#editsubmit$ses->user_id').click(function(){
    $.post('ajax/aj_edituser.php', $("form#editform$ses->user_id").serialize(), function(result) {
        alert($("form#editform$ses->user_id").serialize());
        $('#success$ses->user_id').delay(200).fadeToggle('slow').delay(2000).fadeToggle('slow');    
        $('div.mainadmin').html(result);            
    });
}); 

FF を除くすべてのブラウザーで動作しますが、フォームが 2 回目に送信されると失敗します (フォームは開いているページに再読み込みされます)。HTML を検証するとき、または FF でソース コードを調べるときに、フォーム タグ

<form  id="editform103" name="editform103">

は赤で表示され、「テーブルに表示される開始タグ フォーム」というメッセージが表示されます。フォームの終了タグも赤で配置され、「Stray end tag form」というメッセージが表示されます。http://validator.w3.org/を介してコードを検証すると、編集フォームでこれらのエラー +「このコンテキストでは要素 tr の子として要素フォームは許可されません。(このサブツリーからさらにエラーを抑制します。)」が表示されます。そのため、タグの周りにもフォームを配置しようとしましたが、役に立ちませんでした。

もう見れません、誰か助けてくれませんか?

4

2 に答える 2

3

フォームタグをTRタグまたはTABLEタグ内に配置するのは無効なHTMLです。TD内またはTABLE全体の周囲に配置する必要があります。

于 2012-09-06T08:20:56.203 に答える
1

これを変える:

$('#editsubmit$ses->user_id').on('click', function(){ ... }

Javascriptを使用してHTML要素を作成する場合は.on()、イベントのバインドに使用する必要があります。

http://api.jquery.com/on/

お役に立てば幸いです。

于 2012-09-06T08:20:44.957 に答える