Публикация с использованием jQuery из формы Open Tag - PullRequest
0 голосов
/ 27 марта 2012

Итак, я увидел этот пост, который помог ответить на часть моего вопроса, однако теперь моя форма по-прежнему не использует jquery для публикации формы.

Как удалить атрибут действия в form_open_multipart ()в Codeigniter?

Это HTML-код, отображаемый при открытии страницы, и тег php, который ее создает.

<?php $attributes = array('class' => 'validate', 'id' => 'pmForm'); ?>
<?php echo form_open('', $attributes ); ?>

<form id="pmForm" class="validate" accept-charset="utf-8" method="post" novalidate="novalidate">

* Validate the form when it is submitted
*/
var validateform = $("#pmForm").validate({
    invalidHandler: function(form, validator) {
        var errors = validator.numberOfInvalids();
        if (errors) {
            var message = errors == 1
            ? 'You missed 1 field. It has been highlighted.'
            : 'You missed ' + errors + ' fields. They have been highlighted.';
            $('.box .content').removeAlertBoxes();
            $('.box .content').alertBox(message, {type: 'warning', icon: true, noMargin: false});
            $('.box .content .alert').css({
                width: '100%',
                margin: '0',
                borderLeft: 'none',
                borderRight: 'none',
                borderRadius: 0
            });
        } else {
            $('.box .content').removeAlertBoxes();
        }
    },
    showErrors : function(errorMap, errorList) {
        this.defaultShowErrors();
        var self = this;
        $.each(errorList, function() {
            var $input = $(this.element);
            var $label = $input.parent().find('label.error').hide();
            $label.addClass('red');
            $label.css('width', '');
            $input.trigger('labeled');
            $label.fadeIn();
        });
    },
    submitHandler: function(form) {
        var dataString = $('#pmForm').serialize();
        $.ajax({
            type: 'POST',
            url: '/path/to/my/php/submitfunction',
            data: dataString,
            dataType: 'json',
            success:  function(data) {
                if (data.error) {
                    $('.box .content').removeAlertBoxes();
                    $('.box .content').alertBox(data.message, {type: 'warning', icon: true, noMargin: false});
                    $('.box .content .alert').css({
                        width: '',
                        margin: '0',
                        borderLeft: 'none',
                        borderRight: 'none',
                        borderRadius: 0
                    });
                }
                else
                {
                    $('.box .content').removeAlertBoxes();
                    $('.box .content').alertBox(data.message, {type: 'success', icon: true, noMargin: false});
                    $('.box .content .alert').css({
                        width: '',
                        margin: '0',
                        borderLeft: 'none',
                        borderRight: 'none',
                        borderRadius: 0
                    }); 
                    $(':input','#pmForm')
                    .not(':submit, :button, :hidden, :reset')
                    .val('');  
                }
            }
        });
    }
});

Есть идеи, почему не использовать jQuery для публикации?

Все еще пытаетесь понять, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 20 августа 2012

Вы можете попробовать изменить свой URL, например:

url : <?=site_url('Controller/Function');?>

Я надеюсь, что это работает

0 голосов
/ 27 марта 2012

Хммм ... это может быть глупый вопрос, но вы хотели оставить теги сценария открытия / закрытия? Если нет, то это может быть вашей проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...