我在控制器中输出一段js为什么不起作用啊
echo "<script>alert('".$msg."');</script>";功能很简单,就是想弹出一个窗口
echo "<script>alert('直接写信息就可以了');</script>";
echo $msg;也可以
为什么一拼接就出错呢 控制器不是这样用的,你这样写前台必须用ajax方式获取
应该为控制器写入变量,前台取出
例子:
控制器:$data['jsss'] = "<script>alert('直接写信息就可以了');</script>"
$this->load->view("index", $data);
view里面:
<?php echo $jsss;?>
本帖最后由 qq36910093 于 2019-3-19 09:53 编辑
$data['message']="<script>alert('".$msg."');</script>";
$data['heading'] ="登陆失败";
$data['msg']=$msg;
$this->load->view('errors/html/error_general.php',$data);
这个还是获取不到另外我想问一下,如何查看我生成的这个字符串的内容啊
我已查看源代码就出错
如下图
$msg= validation_errors();
print_r($msg);
echo $msg;
$msg="密码长度必须5-15个字符";
echo "<script>alert('".$msg."');</script>";
这个问题有些奇怪了,我直接把字符串复制到$msg输出就正常,采用从函数接收的就不正常
但是直接输出那个又可以,我都晕了 找到为什么了,会自动在validation_errors()返回的信息里面加一个p标签和换行符,把这个换行删除就行了
# 未通过
$msg= validation_errors(" ","!");//如果不带参数会自动加P标签
$msg= str_replace(array("\r", "\n", "\r\n"), '', $msg);//回车导致js无法输出
echo "<script language='JavaScript'>";
echo " alert('".$msg."');";
echo " history.back();";
echo "</script>";
页:
[1]