1

このようにページに動的に追加するボタンがあります。

if (adminInd  =='X'){

    var adminDiv = $(
        '<label id=Delegatelbl>Miscellaneous label prototyping.:</label>'+
        '</br></br>'+
         '<div style="padding-right:152px;"> '+
            '<form action="userfop.jsp" id="userForm" >'+
              '<label for="tuid">TU-ID:</label>'+
              '<input type="text" name="tuid" id="tuid" maxlength="9"/>'+
            '<button type="button" id="RoleChanger" style="cursor:pointer" class="ab_submit" onclick="validateTuid()"> Change Role </button>'+
            '</form>'+
         '</div>');

    adminDiv.insertBefore('#FormDiv');


    } 

ボタンタグからわかるように、JavaScript関数を呼び出そうとしていますが、すべてを試しましたが、関数はトリガーされません。私が間違っているのは何ですか。私はこれを2時間トラブルシューティングしてきましたが、成功しませんでした。これが私が間違っていることがわからない関数です。誰かが私を正しい方向に向けてください。

function validateTuid(){

    var textTuid = document.getElementById(tuid).value  

    $.ajax({  type: "POST",
          url: "dbfunctions.jsp",  
          data: {TYPE:"V", tuidval:textTuid }}).done(function( msg )
           {  
                alert("Data Saved: " + $.trim(msg));
            if (msg != null || msg != ''){userForm.submit()}
                return "N";
          });
4

2 に答える 2

5

clickイベントを委任する必要がありますon()。メソッドを使用できます。次のことを試してください。

$(document).on('click', "#RoleChanger", validateTuid)
于 2012-08-02T20:57:43.843 に答える
0

たぶんhttp://api.jquery.com/live/を見てください。また、ボタンにonClickをハードコーディングする代わりに、リスナーをそれにバインドします。

于 2012-08-02T20:58:39.167 に答える