如何使用Javascript函数调用MVC Controller

时间:2012-03-28 16:24:39

标签: php javascript model-view-controller codeigniter

我的CI应用中的提交按钮上有一个onclick事件。因此,当用户单击提交时,它将转到我的js函数,该函数禁用该按钮,但它不会继续处理。我使用了这个“document.forms [”mainFrm“]。submit();”,但由于编写代码的方式,我需要它直接转到控制器并完成处理。

那么如何从我的js函数调用CI控制器?

这是在onClick上调用的函数:

function disableWhenSubmit()
{
 alert ("You did get here");
 var holdBtnElement = document.getElementById('btn_Add');
 holdBtnElement.disabled = true;
 holdBtnElement.value = "sending ...";
 //document.forms["createRequestForm"].submit();
 <?= base_url();?>index.php/request"; //this is what I am working on
} 

这是按钮:

input type="submit" id="btn_Add" name="btn_Add" value="Submit"> 

2 个答案:

答案 0 :(得分:1)

<强>的index.php

<script>
    // create a global var before calling your external
    // javascript file(s).
    var BASE_PATH = "<?php echo base_url();?>";
</script>
<script src="link_to_myjavascript.js"></script>

myjavascript.js (jQuery示例)

(function($){

    $(function(){

          var do_ajax = function(some_params){
               $.ajax({
                    url : BASE_PATH + 'controller/method',
               });
          }

          if(conditions)
          {
             do_ajax(some_params);
          }

    });

})(jQuery);

答案 1 :(得分:0)

看看ajax电话。 使用prototypejs或Jquery

<input type="button" onclick="dosomething()" />

例如

<script>
function dosomething() {
  var url = "something.php";
  new Ajax.Request(url, {
    parameters: {//parameters},
    onSuccess: function(transport){
      // do something when response is good
    },
    onFailure: function (request) {
      // Do something when somehting goes wrong     
    });
}
</script>