2016-04-30 36 views
1

我是Jquery Ajax的新手。 我有一个jquery ajax函数,它从服务器接收一个值。HTML onchange没有从Ajax插入被解雇

function servertransfer_reg(datapack1,datapack2,datapack3,datapack4) { 
    alert('Start of Ajax Call'); 
    //Ajax , Jquery Call to Server for sending free time data 
    $.ajax({   
     type: "POST", 
       dataType: 'json', 
     url: "xyz.php", 
     data: {M_N : datapack1, 
         Em : datapack2, 
         TandC: datapack3, 
         News: datapack4 
       }, 
     success: function(data) { 
        alert(data.appid); 
     $("#server_answer_reg").html('<p>Your App ID Successfully created<p/>' + data.appid); 
     //document.getElementById("partyID").innerHTML = data.appid; 
     $("#partyID").html(data.appid); 
     } 
    }); 

} 

在这里,我从服务器获取data.appid。 我想将它插入一个html元素#partyID,插入后,我期待onchange事件被解雇,这将为我做一些工作。 以下是html。

<input onchange="saveIDs()" type="text" id="partyID" class="none_visible" value=""></input> 

在这里,我的saveIDs()函数没有被调用。

我正在从我的Ajax调用接收预期的数据。

如果您需要更多信息,请让我知道。

+0

试试这个:$( “#partyID”)VAL(data.appid);而不是使用html()方法。 – wawawoom

+0

输入的html没有值。另外,当以编程方式更改值时,onchange事件不会被触发。 –

+0

我试过val(data.appid)。但它没有奏效。也许是因为我试图按照帕特里克所说的方法编程。 –

回答

0

onchange将在您离开焦点时触发(如果您执行了任何更改)。执行成功后,为什么不在下一行中调用saveIDs()函数?我的意思是

success: function(data) { 
    alert(data.appid); 
    $("#server_answer_reg").html('<p>Your App ID Successfully created<p/>' + data.appid); 
    //document.getElementById("partyID").innerHTML = data.appid; 
    $("#partyID").html(data.appid); 
    saveIDs(); 
} 
+0

直接从sucess函数调用saveids()工作! 我不必要地让它变得困难! 感谢您的提示! –

+0

很高兴帮助:)您可能希望将其标记为答案 –

+0

在$(“#partyID”)。html(data.appid)后调用saveIDs()。将执行saveID()函数,但输入中的任何更改都会执行 brk

0

必须triggeronchange事件。

参见:
​​