Mun*_*ead 0 html javascript php forms
我在我的注册页面中创建了一个简短的脚本,它定义了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;
}
request.send(params);
}
</script>$n
<div class='main'><h3>Please enter your details to sign up</h3>
END_;
$salt = "user";
$error = $user = $pass = "";
if (isset($_SESSION['user'])) destroySession();
if (isset($_POST['user']) &&
isset($_POST['pass'])) {
$user = sanitizeString($_POST['user']);
$pass = sanitizeString($_POST['pass']);
$token = md5($salt, $pass);
if ($user == "" || $pass == "") {
$error = "Not all fields were entered.</br></br>";
} else {
if (mysql_num_rows(queryMysql("SELECT * FROM members WHERE user='$user'"))) {
$error = "That username already exists.</br></br>";
} else {
queryMysql("INSERT INTO members VALUE('$user', '$token')");
die ("<h4>Account created</h4>Please Log in.</br></br>");
}
}
}
echo <<<END_
<form method='post' action='signup.php'>$error
<span class='fieldname'>Username</span>
<input type='text' maxlength='16' name='user' value'$user' onBlur='checkUser(this)'/><span id='info'></span></br>
<span class='fieldname'>Password</span>
<input type='text' maxlength='16' name='pass' value='$pass'/></br>
<span class='fieldname'> </span>
<input type='submit' value='Sign up' />
</form></div></br></body></html>
END_;
?>
Run Code Online (Sandbox Code Playgroud)
改变标签
<script type='text/css'>
Run Code Online (Sandbox Code Playgroud)
通过
<script type='text/javascript'>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
270 次 |
| 最近记录: |