JQuery + форма представить ... нуждаются в свежем наборе глаз - PullRequest
0 голосов
/ 01 сентября 2010

Я борюсь с этим, как ад. Может кто-нибудь сказать мне, что не так с этим кодом.

Одним словом: CI + JQuery отправить форму. Я пытаюсь добавить встроенный ряд.

  • 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("");
                        });
                }
            });
    });
    
  • часть контроллера (работает, если не используется Java, и все же слишком просто не работать)

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

Если кто-то сможет помочь, пожалуйста, сделайте ...: (

Приветствия

/ Яцек


После некоторого пробуждения ... он работает в IE (вау: O), но не в Safair / FF / Chrome: S

Функция теперь выглядит так:

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

        });

    });

Есть идеи?

PS. Спасибо, Рокки ... это продвинуло меня вперед ...

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

единственная мысль, которая бросается в глаза, это выражение php echo. это в php файле? если нет, то это ваша проблема.

0 голосов
/ 01 сентября 2010

Попробуйте использовать $('form').serialize() вместо создания строки данных вручную.Если какое-либо из полей не заполнено, созданная вручную строка данных может быть неправильной.Например, если поле buysell было пустым, dataString будет pair=data&entry=data2&exit=data2&buysell=&pl=data3, как вы можете видеть, что buysell пусто, и эта dataString недопустима.

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

Это также можно записать с помощью $.post() стенография.

$.post('<?php echo base_url();?>journal/add', $('form').serialize(), function(){
    $("#message").text("Added").fadeOut(4000, function() {
        $(this).css('display','block').text("");
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...