2010-09-01 6 views
0

Je me bats avec lui comme l'enfer. Quelqu'un peut-il me dire ce qui ne va pas avec ce code? En un mot: CI + jquery formulaire soumettre. J'essaie d'ajouter une ligne en ligne.Jquery + formulaire soumettre ... dans un besoin de nouvel ensemble d'yeux

  • partie java

    var pair = $('#pair').attr('value'); 
        var entry = $('#entry').attr('value'); 
        var exit = $('#exit').attr('value'); 
        var buysell = $('#buysell').attr('value'); 
        var pl = $('#pl').attr('value'); 
    var dataString = 'pair='+ pair +'&entry='+ entry +'&exit='+ exit +'&buysell='+ buysell +'&pl='+ pl; 
        $("form#submit").submit(function() { 
         $.ajax({ 
          type: "POST", 
          url: "<?php echo base_url();?>journal/add", 
          data: dataString, 
          success: function(){ 
            $("#message").text("Added").fadeOut(4000, function() { 
             $(this).css('display','block').text(""); 
            }); 
          } 
         }); 
    }); 
    
  • partie du contrôleur (fonctionne si ne pas utiliser java, et pourtant il est trop simple de ne pas travailler)

    $data['pair'] = htmlspecialchars(trim($_POST['pair'])); 
        $data['entry'] = htmlspecialchars(trim($_POST['entry'])); 
        $data['exit'] = htmlspecialchars(trim($_POST['exit'])); 
        $data['buysell'] = stripslashes(trim($_POST['buysell'])); 
        // Insert_data 
        $this->journal_model->add_trade($data); 
    

Si quelqu'un sera en mesure pour aider, s'il vous plaît faire ... :(

Cheers,

/Jacek


Après quelques woking ... Je l'ai travailler dans IE (wow: O), mais pas dans Safair/FF/Chrome: S

regards de fonction comme ça maintenant:

$("form#add_trade_form").submit(function() { 
     dataString = $("form#add_trade_form").serialize(); 
     $.ajax({ 
      type: "POST", 
      url: "<?php echo base_url();?>journal/add", 
      data: dataString, 
      cache: false, 
      lsuccess: function() { 
       $("#message").html("Saved... ").fadeOut(4000, function() { 
        $(this).css('display', 'block').text(""); 
       }); 
      } 

     }); 

    }); 

Des idées?

PS. Merci Rocky ... il m'a déplacé vers l'avant ...

+1

Alors ... quelle est votre question? –

+0

Java =/= JavaScript –

+0

Java Script en effet. –

Répondre

0

Essayez d'utiliser $('form').serialize() au lieu de créer manuellement une chaîne de données. Si l'un des champs est vide, votre chaîne de données créée manuellement peut ne pas être correcte. Par exemple, si le champ buysell était vide, la chaîne dataString serait pair=data&entry=data2&exit=data2&buysell=&pl=data3, car vous pouvez voir que buysell est vide et que dataString n'est pas valide.

$("form#submit").submit(function() { 
    $.ajax({ 
     type: "POST", 
     url: "<?php echo base_url();?>journal/add", 
     data: $('form').serialize(), 
     success: function(){ 
       $("#message").text("Added").fadeOut(4000, function() { 
        $(this).css('display','block').text(""); 
       }); 
     } 
    }); 
}); 

Cela peut également être écrit en utilisant la sténographie $.post().

$.post('<?php echo base_url();?>journal/add', $('form').serialize(), function(){ 
    $("#message").text("Added").fadeOut(4000, function() { 
     $(this).css('display','block').text(""); 
    }); 
}); 
1

celui qui pense que me saute aux yeux est l'instruction php echo. est-ce dans un fichier php? sinon, c'est votre problème.

+0

L'OP utilise CodeIginter, et je suppose que c'est dans un fichier de vue chargé via un contrôleur. Sinon, c'est votre problème. –

+0

Il s'agit d'une instruction de Code Igniter qui génère l'URL configurée. –

+0

Je sais comment utiliser CodeIgniter, je sais ce que 'base_url();' fait. Ce code est-il dans un fichier de vue ou dans un fichier .js? –

Questions connexes