调用控制器/方法而不是提交表单

时间:2012-11-21 05:30:17

标签: php javascript jquery codeigniter

我在尝试调用特定的控制器/方法时遇到问题。我正在尝试拨打myController/myMethod,但我的$_POST仅发布到myController。我认为$_POST无法正常工作的原因是由于以下代码:

<script type="text/javascript">
$(document).ready(function() {          
    var $body = $('body'),
        $content = $('#content'),
        $form = $content.find('#loginform');
        $("input").uniform();       
        $form.wl_Form({
            status:false,
            onBeforeSubmit: function(data){
                $form.wl_Form('set','sent',false);
                if(data.username && data.password){
                    document.forms[0].submit();  // PROBLEM HERE
                }else{
                    $.wl_Alert('Enter password','warning','#content');
                }
                return false;
            }                             
        });         
        <?php if ($error_msg != ""): ?>
           $.wl_Alert('<?php echo $error_msg; ?>','info','#content');
        <?php endif; ?>
});  
</script>

我认为发生的事情是,当设置data.username && data.password时,表单正在提交但未达到我需要的正确方法。

如何修改上述javascript,以便代码提交myController/myMethod而不是提交表单[0]?这是显示我试图调用的控制器和方法的表单代码:

<form name="login" action="<?php echo site_url(); ?>myController/myMethod" id="loginform" method="POST">

3 个答案:

答案 0 :(得分:0)

而不是

document.forms[0].submit();  // PROBLEM HERE

试着看看会发生什么

document.login.action="<?php echo site_url(); ?>myController/myMethod";
document.login.submit();

答案 1 :(得分:0)

您也可以尝试这样...........

<form action="<?php echo ROOT_FOLDER ?>/controller/function_name" method="post">
       insert your elements
 </form>

当你提交它时,它将转到你的控制器中的函数,你可以使用$ _POST .......

访问你在表单中提交的元素。

答案 2 :(得分:0)

尝试

<form name="login" action="<?php echo base_url(); ?>myController/myMethod" id="loginform" method="POST">

如果您使用htaccess或

删除了index.php

<form name="login" action="<?php echo base_url(); ?>index.php/myController/myMethod" id="loginform" method="POST">  如果你启用了index.php。

你是如何发布它发布到myController的?您是否在控制器的构造函数中放置了调试行或退出? 打印$ _POST并退出myMethod

时输出的输出是什么