如何从php调用javascript?
从php文档调用javascript时遇到问题。以下是我的javascript:如何从php调用javascript?,javascript,php,Javascript,Php,从php文档调用javascript时遇到问题。以下是我的javascript: <script type="text/javascript"> function showError(erortype){ var error = errorType; var errorDiv = document.getElementById('errorArea').textContent; if(errorType=="1a"){ errorDiv.
<script type="text/javascript">
function showError(erortype){
var error = errorType;
var errorDiv = document.getElementById('errorArea').textContent;
if(errorType=="1a"){
errorDiv.textContent="LOGIN OR PASSWORD COULDN'T BE EMPTY";
}
}
</script>
功能错误(erortype){
var error=errorType;
var errorDiv=document.getElementById('errorArea').textContent;
如果(错误类型=“1a”){
errorDiv.textContent=“登录或密码不能为空”;
}
}
当我试着像这样调用这个脚本时:
if (empty($login) or empty($password)) {
echo "<script>showError('1a')</script>" ;
}
if(空($login)或空($password)){
回声“淋浴器('1a')”;
}
它返回错误。我确实在
之前声明了脚本听着,事情是这样的。就PHP而言(或者实际上是一个web服务器),HTML页面并不比一个大的ol'字符串复杂。就这样
所有像PHP这样的语言所能做的奇妙工作——从数据库和Webserives中读取数据等等——最终目标都是完全相同的基本原则:生成一个HTML字符串
在web浏览器加载大HTML字符串之前,它不会变得更特殊。一旦浏览器加载了页面,所有其他神奇的事情就会发生——布局、框模型、DOM生成和许多其他事情,包括javascript执行
一旦你掌握了这个概念,你就会意识到你不是“从php调用javascript”,你只是“在你的输出中包含一个javascript函数调用”
有很多方法可以做到这一点,但这里有几个
仅使用php
echo '<script type="text/javascript">'
, 'jsfunction();'
, '</script>';
echo''
,'jsfunction();'
, '';
从php模式转义到直接输出模式
<?php
// some php stuff
?>
<script type="text/javascript">
jsFunction();
</script>
jsFunction();
另一个简单的例子:
<html>
<head>
<title></title>
<script type="text/javascript">
function run(){
alert("hello world");
}
<?php
echo "run();";
?>
</script>
</head>
<body>
</body>
</html>
函数运行(){
警报(“你好世界”);
}
参考-查看评论中的错误
注意:未定义变量:第37行登录***
这个问题与你的问题无关
使用empty()
尝试改用isset()
errorDiv不正确errorType区分大小写
工作示例:
<div id="errorArea"></div>
<script type="text/javascript">
function showError ( errorType ) {
var errorDiv = document.getElementById('errorArea');
if (errorType == '1a') {
errorDiv.innerHTML = "LOGIN OR PASSWORD COULDN'T BE EMPTY";
}
}
</script>
<?php
if ( empty($login) || empty($password) ) {
echo '<script>showError("1a");</script>';
}
?>
功能错误(错误类型){
var errorDiv=document.getElementById('errorArea');
如果(errorType='1a'){
errorDiv.innerHTML=“登录名或密码不能为空”;
}
}
你看到了什么错误?@RocketHazmat注意:未定义变量:登录到第37行的***注意:未定义变量:密码在第39行的***中此登录已被使用(***是我正在执行的文件方式),如果我将echo更改为退出(“错误”)它工作得很好,可能是@nietonfir的复制品,它对我没有帮助,所以我想如果我问自己我可以得到一些帮助,没想到人们会对这件事很残忍……我的坏朋友,如果我像这里一样使用它:淋浴器('1a');注意:未定义变量:在C:***中登录:***在第22行保存_user.php注意:未定义变量:在C:***中密码:***在第24行此登录已被使用,因此这没有帮助,这就是为什么我再次询问此问题的原因,我正在使用它…if(isset($_POST['login']){$login=$_POST['login'];if($login='=''{unset($login=''){unset($login)}}if(isset($_POST['password']){$password=$_POST['password'];if($password=='''']){unset($password);}}if(empty($login)或empty($password)){echo“淋浴器('1a');”}
尝试$login=null
而不是unset($login”)代码>密码相同您不能取消设置某些内容,然后检查它包含的内容,它已消失,没有任何内容可供检查。如果未设置,我使用它销毁变量,以防止空数据进入数据库