繁体   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