javascript 变量未在表单中显示 codeigniter 的验证错误

Posted

技术标签:

【中文标题】javascript 变量未在表单中显示 codeigniter 的验证错误【英文标题】:javascript variable doesn't show validation errors of codeigniter in the form 【发布时间】:2018-11-30 08:45:02 【问题描述】:

我在我的登录表单中使用了 ci 内置的validation_errors() 函数。 一切正常,我可以在我的视图中看到真正的验证错误。 但是当我在脚本中将验证错误回显到我的 js 变量中以在自定义通知中显示它时,什么也没有显示。 这是我的代码:

    <?php if (isset($validation_error))
        echo $validation_error; ?>
    <script>
        var text=  "<?php echo $validation_error;?>";
    </script>
    <script src="<?php echo base_url();?>resources/js/assets/errore-not.js" type="text/javascript">
    </script>

当我在脚本的“文本”变量中传递任何 php 变量或字符串时,它会正确显示通知。 这是我的通知代码:

$(document).ready(function notification () 
    $.notify(
        icon: "notifications",
        message: text

    , 
        type: 'danger',
        timer: 4000,
        placement: 
            from: 'top',
            align: 'center'
        
    );
);

我该怎么做?

【问题讨论】:

在这里您将没有 php 标记的 php 变量分配给 javascript 变量... 我已经使用这种机制来显示 ci 的上传错误,并且工作正常。这个函数的返回值:$this->upload->display_errors() @Teemu 原来的源代码是var text= $validation_error;,肯定不行。稍后您已将代码编辑为工作版本。 在 Firebug 或 chrome inspect 中,您是否收到任何错误或警告? 要测试您的 $.notify 调用,只需硬编码消息:“我的临时文本”并检查它是否有效。如果它没有工作,那么你首先检查通知电话 【参考方案1】:

您可以像这样在 javascript 变量中传递 php 变量值。

<?php if (isset($validation_error))
    echo $validation_error; ?>
<script>
    var text= '<?php echo $validation_error;?>';
</script>
<?php  ?>

【讨论】:

tnx 但我的代码以前是这样的,它对我不起作用。

以上是关于javascript 变量未在表单中显示 codeigniter 的验证错误的主要内容,如果未能解决你的问题,请参考以下文章

HTML表单提交未在Wordpress帖子中调用Javascript“onsubmit”处理程序[重复]

表单未在 Rails 中使用不显眼的 javascript 提交

html/javascript onsubmit 事件未在表单提交上调用以验证表单

OxyPlot 未在 Xamarin 表单中显示

javascript - 使用另一个函数中的变量 javascript - '今天未在对象中定义'

表单按钮显示在模拟器中但未在智能设备中显示