Код Jquery, форма AJAX и отправка вне формы - PullRequest
0 голосов
/ 25 октября 2011

Я не знаю, что не так с этим кодом:

<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 POST, которая становится все хуже, но когда я добавляю

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

 });

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

Ответы [ 2 ]

2 голосов
/ 26 октября 2011

У меня есть ответ на ваши проблемы ..: 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;
    });
});

надеюсь помочь ..

0 голосов
/ 25 октября 2011

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

...