如何在代码编写器中调用提交函数


How to call function on submit in codeigniter

我需要在codeigniter中调用onsubmit函数。一个用于提交,一个用于访问某个id。

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

My ajax controller:

$(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...');    
                }
            });
    }
});
可以使用

jquery:

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

在javascript中

<form action="" method="post" onsubmit="return yourfunction()">
</function>
function yourfunction()
{
  //your code
  return true;
}

不管你是使用codeigniter还是普通php,只要使用Ajax,检查这个链接

$('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();

你可以用jquery处理你的表单提交。为此,您可以使用jquery插件之一。我向你推荐JqueryForm插件

插件可以这样做:

$.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
        });
    }
}); 
//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
});