php返回innerHTML

时间:2012-04-02 10:13:51

标签: php javascript innerhtml

我试图在运行一些PHP代码后更新元素的内容。我意识到php首先被执行,但我想通过加载页面我可以找到元素?但是控制台说无法找到null元素,所以我猜想在innerHTML代码运行之前页面没有加载。

任何想法?

else if(strlen($_POST['username']) < 6){
    header("Location: http://webpage/register.html"); 
    echo "document.getElementById('elemID').innerHTML = usename too short";
}

2 个答案:

答案 0 :(得分:5)

header()指示您的客户转到新位置,因此输出任何之后会对您的客户产生任何影响,因为您的register.html的内容已由您的处理方式有所不同服务器

如果您可以将register.html更改为使用php,则可以传递

header("Location: http://webpage/register.php?msg=username%20too%20short"); 

然后在你的register.php

if(!empty($_GET['msg'])) echo $_GET['msg'];

答案 1 :(得分:2)

首先,在标题位置重定向后,您不应该有任何逻辑。在这样的重定向之后放置“exit”或“die”是一个好习惯,因为你不能保证浏览器在重定向之前会看到下一行。实际上,您可以很好地保证它通常不会看到该代码。

如果您要重定向,请将您的错误作为参数添加到重定向网址,并在那里显示错误,如下所示:

header("Location: http://webpage/register.php?error=username%20too%20short");

然后在你register.php(我从.html重命名,所以你可以读取错误参数)你可以引用你的错误,如:

$error = $_GET['error'];
if (!empty($error)) {
    //write your error out in some markup or javascript...
}