【发布时间】:2013-08-09 00:23:14
【问题描述】:
基本上,我在使用 Ajax 时尝试在 PHP 脚本中调用 Javascript 函数。
JavaScript:
<script type="text/javascript">
function Validate() {
hr = new XMLHttpRequest();
name = document.getElementById('name').value;
hr.open('POST', 'validator.php', true);
hr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
hr.onreadystatechange = function() {
if ( hr.readyState == 4 && hr.status == 200 ) {
document.getElementById('message').innerHTML = hr.responseText;
}
}
hr.send('name=' + name);
}
function disable() {
document.getElementById('message').innerHTML = '';
}
</script>
HTML:
<div id="message"></div>
Name: <input type="text" id="name /">
<input type="button" onclick="Validate();" value="Validate" />
PHP:
<?php
$name = $_POST['name'];
if ( !empty( $name ) ) {
if ( $name == 'Tom' ) {
echo "<script>alert('Hello Tom, Welcome Back')</script>";
} else {
echo 'You are not Tom';
}
} else {
echo 'Please enter a name.';
}
?>
除了在 PHP echo <script>alert()</script> 中调用 Javascript 函数外,一切正常
我认为这里的问题是因为我声明了hr.responseText,结果,我要显示的javascript返回了文本。但是我应该怎么做才能解决这个问题呢?
任何帮助将不胜感激。
【问题讨论】:
标签: php javascript jquery ajax validation