我尝试从一个帧传递给一个div 在第一次调用ajax jquery后改变不起作用 然后在框架中它正在工作
我在点击菜单时第一次加载我的页面。 我选择了一个人 刷新没问题
但是当我尝试修改XPS后,事件onchange无法正常工作
<script type="text/javascript" src="{$URL_BASE}js/prototype.js"></script>
<script type="text/javascript">var URL_BASE='{$URL_BASE}'</script>
<script type="text/javascript" src="{$URL_BASE}js/jquery.min.js"></script>
<script type="text/javascript" src="{$URL_BASE}page.js"></script>
<script type="text/javascript" src="{$URL_BASE}menu_mj.js"></script>
</head>
<body>
<div id="frame-menu">
<a href="#" onclick="return menu_displaycentre('frame-centre','{$URL_BASE}page.php');
ma page
</a>
</div>
<div id="frame-centre">
</div>
提取页面
<script type="text/javascript" src="{$URL_BASE}js/prototype.js"></script>
<script type="text/javascript" src="{$URL_BASE}js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="page.js"></script>
</head>
<body>
<form method="post" id="recherche" name="recherche" action="">
<input type="hidden" name="ACT" value="rech_perso" />
RECHERCHE D'UN COMPTE<br />
Id,Login, email, ip ou nom de personnage : (2 lettres min)<br />
<input type="text" name="query" size="30" />
<input type="submit" value="RECHERCHER" onclick="PJ_Recherche()" />
</form>
<input type="text" size="10" name="XPS" value="{$PJ.XPS}" id="XPS"/>
perso.js
$.noConflict();
jQuery(document).ready(function($) {
$(document).ready(function () {
$("#XPS").change(function () {
//$('#XPS').live('onchange',function () {
alert('titi');
var champsid = ($(this).attr('id'))
var champsvaleur = $('input[id=XPS]').val()
var idpj = ($("#idpj").val());
$.ajax({
type: "POST",
url: "updatebdd.php",
data: 'id='+idpj+'&champ='+champsid+'&value='+ champsvaleur,
cache: false,
success: function(html) { // If is everything ok
}
});
});
});
});
// Code that uses other library's $ can follow here.
function PJ_Recherche() {
var url=URL_BASE+'persos.php';
new Ajax.Updater(
'frame-centre',
url,
{
method : 'post',
parameters: Form.serialize('recherche')
}
);
parent.document.getElementById('frame-centre').innerHTML ='Please Wait...';
return false;
}
...
我从3天开始阻止一些人有答案?
答案 0 :(得分:3)
你必须使用delegated event,因为在DOM加载后修改了元素:
$(document).on('click','#XPS',function () {
................
...............
.............
});