我正在構建一個頁面,它是dinamically加載ajax。奇怪的JavaScript問題
這就是'$.get'
jQuery函數調用(這是位於外部HTML頁面):
<script type="text/javascript">
$(function()
{
$('button').sb_animateButton();
$('input').sb_animateInput();
$('#settings_security_error').hide();
});
function check_passwords(password, password_confirm)
{
$('#settings_security_error').show();
alert('I\'m in funcion!'); // This works...
if(password.length < 4) // ... this doesn't
{
$('#settings_security_error').innerHTML = 'Password too short';
}
else
{
password = hex_md5(password);
password_confirm = hex_md5(password_confirm);
$.get('/engine/ajax/check_password.php?password=' + password + '$password_confirm=' + password_confirm,
{language: "php", version: 5},
function(result)
{
$('#settings_security_error').innerHTML = result;
},
'html');
}
}
</script>
<div class="title">Security</div>
<table class="sub_container">
<tr>
<td><label>Old password</label></td>
<td class="td_input"><input type="password" name="old_password"/></td>
</tr>
<tr>
<td><label>New password</label></td>
<td class="td_input"><input type="password"
name="new_password"
id="settings_security_new_password"
onkeyup="check_passwords(this.value, getElementById('settings_security_password_confirm').value)"/></td>
</tr>
<tr>
<td><label>Confirm password</label></td>
<td class="td_input"><input type="password"
name="new_password_confirm"
id="settings_security_password_confirm"
onkeyup="check_passwords(getElementById('settings_security_new_password').value, this.value)"/></td>
</tr>
<tr>
<td class="td_error" id="settings_security_error"></td>
</tr>
</table>
而這正是外部HTML放置...:
<div id="settings_appearance">
</div>
...從這個JavaScript片段:
function get_page_content(page, target_id)
{
$.get('engine/ajax/get_page_content.php?page=' + page,
null,
function(result)
{
$("#"+target_id).html(result); // Or whatever you need to insert the result
},
'html');
}
那麼...問題是,噸他在第一個代碼段中的javascript在被加載時被執行,但我仍然無法理解爲什麼當我在輸入框中輸入時沒有任何事情發生。它應該在<td class="td_error" id="settings_security_error"></td>
中寫入javascript函數check_passwords(password, password_confirm)
的輸出。
感謝您的幫助。 西爾維奧
如果您動態加載/注入HTML/JS到頁面中,那麼您將不得不動態綁定事件。 但我不確定我是否明白到目前爲止**的工作情況?我不認爲任何東西應該簡單地加載#settings_appearance後加載片段1 ... – 2010-06-14 14:29:46
nvm ...誤解 – 2010-06-14 14:37:18