php - 为什么在 div 标签中动态加载时此页面无法正常工作?

标签 php javascript jquery ajax dynamic

这是一个更长问题的改编,因为我在没有那么多信息的情况下更直接地指出了这个问题。我正在使用This动态加载我的 div 标签中的页面,但某些东西在加载时停止工作。特别是一些 jquery 的东西。当加载到这个 div 中时,注册不会检查用户名等,我不明白为什么。如果需要发布代码,我可以这样做,但我认为这可能只是页面加载的方式不同,只是不确定是哪个或为什么。 Here是我的测试页面的链接,可以查看我在说什么。将鼠标悬停在登录名上,然后单击“注册”。它会加载表单,但不会使用 jquery 等检查用户名。 Here是单个注册页面,它本身就可以正常工作,这也显示了我正在尝试做的事情。 Fiddle with javascript/jquery and 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'; 
}
?>

附注请忽略过时的 PHP。虽然这很糟糕,但我只是还没有修复它,而且我知道我很快就会修复它。

最佳答案

它不起作用的原因是您正在使用的代码根本没有执行任何操作来使其工作。该代码将响应填充到 DOM 元素中,但不会尝试运行脚本。对元素的 innerHTML 属性的简单更新不会导致嵌入脚本运行。

如果你愿意,你可以修改该脚本,但是既然你用 jQuery 标记了这个问题,我会以最强烈的方式敦促你转储该脚本并使用 jQuery 来执行此操作,这(如果你做得正确)将完成运行嵌入式脚本所需的工作。

关于php - 为什么在 div 标签中动态加载时此页面无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11487411/

相关文章:

php - 将 MySQL 转换为新系统?

php - 使用 rewritemap 和 mysql 重写 url 参数

PHP - 代码覆盖 - 无法覆盖某些行......(Netbeans)

javascript - CoffeeScript:Github ATOM,Atom API 的 getSelection 替代品?

javascript - 在 Pixi.js 中动画绘制一条线

php - 选择多行放入数组并通过 AJAX 发送它们

javascript - 当从另一个 &lt;input&gt; 模糊时,jQuery 检测到 &lt;input&gt; 是焦点

javascript - 如何使用此地理定位脚本缓存用户的位置?

javascript - 如何使用 Jquery 处理作为按钮实现的下拉菜单

水平导航栏/菜单的 jQuery 滑动边框底部