如何在codeigniter中调用提交函数

时间:2014-07-08 11:53:05

标签: javascript php jquery ajax codeigniter

我需要在codeigniter中调用onsubmit函数。 一个用于提交,一个用于Access一些id。

我想知道如何在提交时调用两个函数,如果我有真实条件,我还需要知道如何通过ajax提交表单。

我的ajax控制器:

$(document).ready(function(){

    add = function (){

    $.ajax({
                type: "POST",              
                url: ajax_url_store,       
                data: {action: 'store', views: JSON.stringify(thsirtDesigner.getProduct()) },

                success: function(data) {
                     if(parseInt(data) > 0) {
                        // i need to submit my form here...

                         }

                },
                error: function() {
                    //alert('some error has occured...');
                },
                start: function() {
                    //alert('ajax has been started...');    
                }
            });
    }

});

4 个答案:

答案 0 :(得分:1)

你可以使用jquery:

$("#formId").submit(function(e){
  e.preventDefault();
  //your code
});

并在javascript中

<form action="" method="post" onsubmit="return yourfunction()">
</function>

function yourfunction()
{
  //your code
  return true;
}

答案 1 :(得分:1)

使用codeigniter或普通的php只是使用Ajax,Check this link

并不重要
$('input#submitbuttonid').click( function() {
$.ajax({
    url: 'url to post data',
    type: 'post',
    dataType: 'json',
    data: $('form#formid').serialize(),
    success: function(data) {
               ...your data logic comes here
             }
});
});

简单的Javascript,

$('form#formid').submit();

答案 2 :(得分:0)

你可以通过jquery处理你的表单提交。为此,您可以使用jquery插件之一。我将JqueryForm plugin提交给您。

通过这个插件你可以做这样的事情:

$.ajax({
   type: "POST",              
   url: ajax_url_store,       
   data: {action: 'store', views: JSON.stringify(thsirtDesigner.getProduct()) },

        success: function(data) {
            if(parseInt(data) > 0) {
                  var options = { 
                     target:        '#message_box_id',   // target element(s) to be updated with server response 

                     url:       url         // override for form's 'action' attribute 
                     type:      type        // 'get' or 'post', override for form's 'method' attribute 
                    dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
                    clearForm: true        // clear all form fields after successful submit 
                    resetForm: true        // reset the form after successful submit 

                }; 

               // bind form using 'ajaxForm' 
               $('#your_form_id').ajaxForm(options);

            }

            },
            error: function() {
                //alert('some error has occured...');
            },
          start: function() {
         //alert('ajax has been started...');    
    }
});

我不知道您想要做什么,但也许您可以在使用此插件的提交功能之前使用它来解决您的问题。例如,你可以尝试这种方式

$(document).ready(function() { 
    var options = { 
        target:        '#output1',
        beforeSubmit:  your_ajax_function,
        success:       showResponse  // post-submit callback 


        url:       url         // override for form's 'action' attribute 
        type:      type        // 'get' or 'post', override for form's 'method' attribute 
        clearForm: true        // clear all form fields after successful submit 
        resetForm: true        // reset the form after successful submit 
    }; 

    // bind form using 'ajaxForm' 
    $('#your_form_id').ajaxForm(options); 

    your_ajax_function = function(){
        $.ajax({
            // your ajax body
        });
    }
}); 

答案 3 :(得分:0)

//stop the form from submitting you can select form by adding a class or id
$('form').submit(function(e){e.preventDefault});

//when a button with id submit is clicked
//fire ajax
$('button#submit').on('click',function(){
  // your ajax code
});