JQuery代码,AJAX表单并在表单外提交

时间:2011-10-25 19:32:34

标签: jquery ajax forms submit

我不知道这段代码出了什么问题:

<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 个答案:

答案 0 :(得分:2)

我对你的问题有一个答案..: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;
    });
});

希望有所帮助..

答案 1 :(得分:0)

.submit(function(){})不提交表单,它只是设置一个回调,应该在提交表单时运行(例如,在表单内单击提交按钮)。调用.submit()(不带参数)然后提交表单。