duanhuizhe6767 2019-07-31 06:05
浏览 87

如何在codeigniter控制器的回调函数中调用javascript函数?

I want call the javascript function into callback function of codeigniter controller.

Controller: Callback function

public function email_exist($id) {
        $this->db->where('email', $id);
        $query = $this->db->get('login');
        if (!$query->num_rows() > 0) {

            $this->form_validation->set_message(__FUNCTION__, $this->email_validate());          
            return FALSE;
        } else {
            return TRUE;
        }

Javascript: Alert function

function email_validate(){
    alert('Invalid Email Id');
}

An uncaught Exception was encountered

Type: Error

Message: Call to undefined method Login::email_validate()

Filename: C:\wamp64\www\CodeIgniterProject1\application\controllers\login.php

Line Number: 46

login_form.php

<?php echo validation_errors(); ?>
<?php echo form_open_multipart(); ?>
<form name="form">
    <div class="loginform">
        <?php echo form_label('LOGIN', 'login'); ?>
    </div>
    <div class="email">
        <?php echo form_input('email', 'E-MAIL', set_value('email')); ?>
    </div>
    <div class="password">
        <?php echo form_password('password', 'PASSWORD', set_value('password')); ?>
    </div>
    <div class='checkbox'>
        <?php
        echo form_checkbox(array(
            'name' => 'remember',
            'id' => 'remember',
            'value' => 'REMEMBER ME',
            'checked' => FALSE,
            'style' => 'margin:1px'
        )) . form_label('REMEMBER ME', 'remember');
        ?>
    </div>
    <div class='btnlogin'>
        <?php echo form_submit('login', 'LOGIN'); ?>
    </div>
</form>
  • 写回答

1条回答 默认 最新

  • dtvjl64442 2019-07-31 07:21
    关注

    you cant do that in Codeigniter, use Codeigniter default form validation library

    View here

    if you want to add css for validation errors then try set_error_delimeters()

    if you have bootstrap then use

    alert alert-danger

    class, else create one class

    $this->form_validation->set_error_delimiters('<div class="alert alert-danger">', '</div>');
    

    see

    [other suggestions]

    instead of putting all error in the top, you can also try

    <?php 
    echo form_error('email');
    form_input('email', 'E-MAIL', set_value('email'));
     ?>
    

    other options is jquery validation or js validation, write js in view or external .js file

    <?php
        data = array(
                'name'          => 'username',
                'id'            => 'username', //use the id for jquery validation $('#username').on('blur', function() { });
                'value'         => 'johndoe',
                'maxlength'     => '100',
                'size'          => '50',
                'style'         => 'width:50%'
                'onBlur' => 'email_validate();' //use this for javascript validation
        );
    
        echo form_input($data);
    ?>
    

    im unable to comment, thats why posting as answer

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题