这是对更长问题的改编,因为如果没有这么多信息我会更直接地指出这个问题。我正在使用This动态加载div标签中的页面,但某些内容在加载时会停止工作。特别是一些jquery的东西。在这个div中加载时,注册不检查用户名ect,我无法弄清楚原因。如果需要发布代码我可以这样做,但我认为它可能只是在加载页面的方式,只是不确定是哪个或为什么。 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';
}
?>
P.S。请忽略过时的PHP。虽然它很糟糕,但我还没有解决它,并且知道我将很快。
答案 0 :(得分:4)
它不起作用的原因是你使用的代码根本无法使它工作。代码将响应填充到DOM元素中,但不会尝试运行脚本。对元素的innerHTML
属性的简单更新不会导致嵌入式脚本运行。
如果你愿意,你可以修改那个脚本,但是既然你用jQuery标记了这个问题,我会强烈要求你用最强的术语来转储那个脚本并用jQuery做这个,如果你做得对,那就行了导致嵌入式脚本运行所必需的工作。