Код Jquery, форма AJAX и отправка вне формы

#jquery #ajax #forms #submit

#jquery #ajax #формы #Отправить

Вопрос:

я не знаю, что происходит не так с этим кодом:

 <script language="javascript"> var jdownloader = false; </script>
<script language="javascript" src="http://127.0.0.1:9666/jdcheck.js"></script>
<script language="javascript">
jQuery(function($) {
    $(document).ready(function() {
        // Interceptamos el evento submit
        if (jdownloader) {
            $('#mysubmit').click(function() {
                $('#form .jdown, #jdown, .jdown').submit(function() {
                    // Enviamos el formulario usando AJAX
                    $.ajax({
                        type: 'POST',
                        url: $(this).attr('action'),
                        data: $(this).serialize(),
                        // Mostramos un mensaje con la respuesta de PHP
                        success: function(data) {
                            $('#result').html(data);
                        }
                    })
                    return false;
                });
            });
        } else {
            $('#mysubmit').click(function() {
                $('#form .jdown, #jdown, .jdown').submit(function() {
                    alert('Abre JDownloader.');
                    return false;
                });
            });
        }
    })
});
</script>
 

И HTML

 <form ACTION="http://127.0.0.1:9666/flash/addcrypted2" target="hidden" METHOD="POST" id="<?php echo $post->ID; ?>" name="jdown" class="jdown">
    <INPUT TYPE="hidden" NAME="passwords" VALUE="myPassword"> 
    <INPUT TYPE="hidden" NAME="source" VALUE="http://jdownloader.org/spielwiese">  
    <INPUT TYPE="hidden" NAME="jk" VALUE="function f(){ return '31323334353637383930393837363534';}">
    <INPUT TYPE="hidden" NAME="crypted" VALUE="<?php echo $crypted; ?>">
</form>
<button id="mysubmit">Submit</button>
 

То, что я пытаюсь сделать, это и форма отправки ajax, которая работает хорошо, но когда я добавляю

  $('#mysubmit').click(function() {

 });
 

чтобы поместить отправку туда, куда я хочу, за пределы формы, не работает.
Есть какие-нибудь идеи? СПАСИБО! =)

Ответ №1:

У меня есть ответ на ваши проблемы .. : D

попробуйте сделать так..

 $(function () {
    $('#mysubmit').click(function(){
        if($('form[name=jdown]').submit(function(){return false;})){
            $.ajax({
                type: 'POST',
                url: $('form[name=jdown]').attr('action'),
                data: $('form[name=jdown]').serialize(),
                success: function(data) {
                    $('#result').html(data);
                }
            });
        }
        return false;
    });
});
 

надеюсь , поможет ..

Ответ №2:

Он .submit(function(){}) не отправляет форму, он просто устанавливает обратный вызов, который должен быть запущен при отправке формы (например, кнопка отправки нажата внутри формы). Вызывающий .submit() (без аргументов) затем отправляет форму.

Комментарии:

1. Есть ли форма с jquery для отправки вне формы? Не могли бы вы показать мне, пожалуйста? Спасибо