gpt4 book ai didi

php - 无法显示 $this->validation->error_string

转载 作者:行者123 更新时间:2023-11-28 16:35:37 25 4
gpt4 key购买 nike

您好,这是我的 onload 函数:-

  $(function() {
<?php if( isset ($this->validation->error_string) && $this->validation->error_string != '') {?>
str = '<?php echo $this->validation->error_string;?>';
alert(str);
<?php }?>
});

我总是收到此错误:-

unterminated string literal
str = '<p>The Username field is required.</p>\n

即使存在验证错误,我总是在 firebug 中收到此错误。然而,当我只是在正文标签中回显它时,它工作得很好。我该如何解决这个问题?

提前致谢:)

最佳答案

您需要在输出中对新行进行编码,使其成为有效的 JavaScript,例如使用 json_encode() ,像这样:

$(function() {
<?php if( isset ($this->validation->error_string) && $this->validation->error_string != '') {?>
var str = '<?php echo json_encode($this->validation->error_string);?>';
alert(str);
<?php }?>
});

JavaScript 字符串不能跨行...您将收到“未终止的字符串文字”错误,正是您所看到的。另外,使用 var不要创建全局变量,或者根本不使用变量,如下所示:

$(function() {
<?php if( isset ($this->validation->error_string) && $this->validation->error_string != '') {?>
alert('<?php echo json_encode($this->validation->error_string);?>');
<?php }?>
});

另一个注意事项,由于您正在发出警报,因此您可能需要删除 <p></p>包装器,因为它将显示在 alert() 中也是如此。

关于php - 无法显示 $this->validation->error_string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4177091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com