簡體   English   中英

為什么在div標簽中動態加載此頁面時,該頁面無法正常工作?

[英]Why will this page not work correctly when loaded dynamically in a div tag?

這是對更長的問題的改編,因為我指出在沒有太多信息的情況下問題更加直接。 我正在使用This來動態加載div標簽中的頁面,但是某些東西在加載時會停止工作。 特別是一些jQuery的東西。 在此div中加載時,注冊不檢查用戶名ect,我不知道為什么。 如果需要發布代碼,我可以這樣做,但是我認為它可能只是頁面加載的方式而已,只是不確定哪個或為什么。 是指向我的測試頁的鏈接,以查看我在說什么。 將鼠標懸停在登錄名上,然后單擊“注冊”。 它會加載表單,但不會通過jquery來檢查用戶名,而我這樣。 是一個單獨的注冊頁面,它本身可以很好地工作,這也顯示了我正在嘗試做的事情。 擺弄javascript / jquery和html 我留了一些PHP,以防萬一它做得很時髦,並省略了CSS,因為它用於消息框,但這並不會影響它,如果沒有它,它仍然會出現在測試中。

這是處理注冊的PHP:

<?php
//have to use &_POST instead of vars for regular vars because of bug
//hash the password
$hash = hash('sha256', $_POST['pass1']);

//creates a 3 character sequence, hash pass again
function createSalt(){    
    $string = md5(uniqid(rand(), true));    
    return substr($string, 0, 3);
}
$salt = createSalt();
$hash = hash('sha256', $salt . $hash);

//check registration code
require('config/config.php');
//match the id with the registration code to update the correct row
$result = mysql_query("SELECT id FROM user WHERE regcode=
'". mysql_real_escape_string($_POST['regcode']) ."'") or die('Unable to query!');
$row = mysql_fetch_array($result);
if ($row['id'] != "") {
    $updateid = $row['id'];
} else {
    die("No matching registration code!");
}

//check if id is blank, means registration is blank
if (isset($updateid)) {
//update into database
$result = mysql_query("UPDATE user SET username='". mysql_real_escape_string($_POST['username']) ."', 
        password='". $hash ."', salt='". $salt ."', 
        email='". mysql_real_escape_string($_POST['email']) ."', 
        firstname='". mysql_real_escape_string($_POST['firstname']) ."', 
        lastname='". mysql_real_escape_string($_POST['lastname']) ."', 
        regcode='', joined=NOW(), lastlogin=NOW(), active='yes' 
        WHERE id='". $updateid ."'") or die(mysql_error());

//echo $query.",".$_POST['username'].",".$hash.",".$_POST['email'].",".$_POST['firstname'].",
//    ".$_POST['lastname'].",".$_POST['regcode'].",". $updateid ."";
//mysql_close();
echo 'yes';
} else {
echo 'noregcode'; 
}
?>

PS請忽略過時的PHP。 雖然很糟糕,但我還沒有解決它,所以我知道必須盡快解決。

它不起作用的原因是您正在使用的代碼根本無法使其正常工作。 該代碼將響應填充到DOM元素中,但不嘗試運行腳本。 對元素的innerHTML屬性進行簡單更新不會導致運行嵌入式腳本。

您可以根據需要修改該腳本,但是由於您使用jQuery標記了這個問題,因此我強烈建議您使用最強的術語來轉儲該腳本,並使用jQuery進行此操作(如果您做對了,它將執行必要的工作)使嵌入式腳本運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM