JQuery не сериализуется из Internet Explorer - PullRequest
0 голосов
/ 29 октября 2011

У меня есть следующий код PHP:

echo '      <td id="'.$metaso['semanaventa'].'td1"><form id="'.$metaso['semanaventa'].'form" name="'.$metaso['semanaventa'].'form" class="dinamic" action="compromiso_funciones.php"  method="post">
<input type="text" id="'.$metaso['semanaventa'].'txt" name="met_aso_venta" value="" style="width:100px;" tabindex="'.($idx + 1).'" class="validate[required,custom[number]] moneda" />
<input type="text" style="display:none;" name="met_aso_pr" value="'.$metaso['asociado'].'" />
<input type="text" style="display:none;" name="semana" value="'.$metaso['semanaventa'].'" />
<input type="submit"  class ="boton" style="margin:0px;width:100px; display:none;" id="'.$metaso['asociado'].$metaso['semanaventa'].'btn" name="'.$metaso['asociado'].$metaso['semanaventa'].'btn" value="Actualizar" /></form></td>';
echo '      <td id="'.$metaso['semanaventa'].'td2"></td>';

И это скрипт JQuery:

            $('.dinamic').live("submit",(function(){
            if ( $(this).validationEngine('validate')){
                $.post($(this).attr("action"), $(this).serialize(), function(html){

                });
            }
            return false; 
        }));

Это прекрасно работает на FF, Chrome, Opera , но на любом IEверсия.

Я обнаружил, что:

$(this).serialize();

ничего не возвращает.

Я пробовал подключаемый модуль формы malsup,ручная сериализация с использованием функции JE .each и т. д.

Help !!!!

Ответы [ 2 ]

3 голосов
/ 31 октября 2011

Решено !!

Перед входом в функцию проверки я сериализовал форму и передал ее в функцию post.

Надеюсь, это поможет вам в будущем.

Ищите серийный var, он делает волшебство.

СПАСИБО ВСЕМ

            $('.dinamic').live("submit",(function(){
            forma = $(this);
            serial = $(forma).serialize();
            forma= $(forma).attr('id');
            reng = forma.substring(0,6);
            if ( $(this).validationEngine('validate')){
                $('#' + reng + 'td2').empty().html('<img src="imgs/exito.png" />');
                $('#' + reng + 'td1').html($('#' + reng +'txt').val());
                $.post($(this).attr("action"), serial, function(html){

                });
            }//Cierre Validate
            return false; // prevent normal submit
        }));
0 голосов
/ 29 октября 2011

Не могли бы вы попробовать использовать submit () вместо live?

http://jsfiddle.net/Av4hW/1/

Кажется, работает нормально:)

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