我在我的注册页面中创建了一个简短的脚本,它定义了function checkUser(user)第6行.
现在在包含注册表单HTML的代码的底端,我已经onBlur='checkUser(this)为<input>命名添加了一个内联脚本'user'.
但是,当此对象失去焦点并且应该触发onBlur函数时,javascript控制台会声明function checkUser尚未定义.为什么会这样?
我唯一的猜测是脚本和html是分开的字符串,但我不知道.
我为此示例附加了signup.php的完整PHP代码.
<?php //signup.php
include_once 'header.php';
echo <<<END_
<script type='text/css'>
function checkUser(user) {
"use strict";
if (user.value == '') {
O('info').innerHTML = '';
return;
}
params = "user=" + user.value;
request = new ajaxRequest();
request.open("POST", "checkuser.php", true)
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.onreadystatechance = function() {
"use strict";
if (this.readyState == 4)
if (this.status == 200)
if (this.responseText != null)
O('info').innerHTML = this.responseText;
} …Run Code Online (Sandbox Code Playgroud)